ci: use jq to construct builds matrix

This commit is contained in:
Phillip Cloud 2021-12-30 07:23:53 -05:00
parent ed58e6c7a6
commit 5303a36635
No known key found for this signature in database
GPG key ID: D908212070FD785E
2 changed files with 5 additions and 28 deletions

View file

@ -1,27 +0,0 @@
#!/usr/bin/env python3
import subprocess
import json
import sys
expr = 'builtins.toJSON (builtins.attrNames (import ./tests {}))'
if __name__ == '__main__':
attrs = json.loads(json.loads(subprocess.check_output([
"nix-instantiate",
"--eval",
"--expr",
expr
])))
matrix = [
{
"attr": attr
}
for attr in attrs
]
sys.stdout.write("::set-output name=matrix::")
json.dump({"include": matrix}, sys.stdout)
sys.stdout.flush()

View file

@ -26,7 +26,11 @@ jobs:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: experimental-features = nix-command
- id: set-matrix
run: ./.github/generate-matrix.py
run: |
set -euo pipefail
matrix="$(nix-instantiate --eval --json --expr 'builtins.attrNames (import ./tests {})' | jq '{attr: .}')"
echo "::set-output name=matrix::$matrix"
builds:
needs: matrix_generate