poetry2nix/.github/workflows/ci.yml
2022-01-12 18:48:06 +13:00

67 lines
1.9 KiB
YAML

name: CI
on:
pull_request:
jobs:
nixpkgs-fmt:
runs-on: ubuntu-latest
steps:
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: actions/checkout@v2.4.0
- name: Check format
run: ./check-fmt
py2-compat:
runs-on: ubuntu-latest
steps:
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: actions/checkout@v2.4.0
- name: Check format
run: nix-shell --run 'git ls-files | grep -P "\.py$" | xargs py2-astparse'
black-fmt:
runs-on: ubuntu-latest
steps:
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: actions/checkout@v2.4.0
- name: Check format
run: nix-shell --run 'black --check .'
matrix_generate:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
- id: set-matrix
run: |
set -euo pipefail
matrix="$(nix-instantiate --eval --json --expr 'builtins.attrNames (import ./tests {})' | jq -rcM '{attr: .}')"
echo "::set-output name=matrix::$matrix"
builds:
needs: matrix_generate
runs-on: ubuntu-latest
strategy:
matrix: ${{fromJSON(needs.matrix_generate.outputs.matrix)}}
steps:
- uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: cachix/cachix-action@v10
with:
name: poetry2nix
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- run: nix-shell -p nix-build-uncached --run 'nix-build-uncached --keep-going --show-trace tests/default.nix -A ${{ matrix.attr }}'