chore: update all test deps (#420) #713
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Run test suite" | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
push: | |
branches: | |
- 'master' | |
- 'ci*' # Allow testing CI fixes without opening a PR | |
permissions: | |
contents: read | |
jobs: | |
tests-pass: | |
name: all systems go | |
runs-on: ubuntu-latest | |
if: ${{ always() && contains(needs.*.result, 'failure') }} | |
steps: | |
- run: exit 1 | |
needs: | |
- check-dead-code | |
- check-fmt | |
- examples | |
- tests | |
tests: | |
strategy: | |
# Allow other jobs to finish building and cache properly before bailing | |
fail-fast: false | |
matrix: | |
include: | |
# Latest and greatest release of Nix | |
- install_url: https://nixos.org/nix/install | |
# The 23.05 branch ships with Nix 2.13.3 | |
- install_url: https://releases.nixos.org/nix/nix-2.13.3/install | |
nixpkgs-override: "--override-input nixpkgs github:NixOS/nixpkgs/release-23.05" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v23 | |
with: | |
install_url: ${{ matrix.install_url }} | |
- uses: cachix/cachix-action@v12 | |
with: | |
name: crane | |
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | |
- name: flake checks | |
run: nix flake check --accept-flake-config --keep-going --print-build-logs ${{ matrix.nixpkgs-override }} | |
- name: extra tests | |
run: nix develop --accept-flake-config ${{ matrix.nixpkgs-override }} --command ./extra-tests/test.sh | |
examples: | |
strategy: | |
# Allow other jobs to finish building and cache properly before bailing | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-latest | |
# Latest and greatest release of Nix | |
install_url: https://nixos.org/nix/install | |
- os: ubuntu-latest | |
# The 23.05 branch ships with Nix 2.11.1 | |
install_url: https://releases.nixos.org/nix/nix-2.13.3/install | |
nixpkgs-override: "--override-input nixpkgs github:NixOS/nixpkgs/release-23.05" | |
- os: macos-12 | |
# Latest and greatest release of Nix | |
install_url: https://nixos.org/nix/install | |
nixpkgs-override: "--override-input nixpkgs github:NixOS/nixpkgs/nixpkgs-23.05-darwin" | |
filter: "-not -name build-std" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v23 | |
with: | |
install_url: ${{ matrix.install_url }} | |
- uses: cachix/cachix-action@v12 | |
with: | |
name: crane | |
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | |
- name: validate examples | |
run: | | |
for f in $(find examples -maxdepth 1 -mindepth 1 -type d ${{ matrix.filter }}); do | |
pushd "${f}" | |
echo "validating ${f}" | |
nix flake check --accept-flake-config --print-build-logs --override-input crane ../.. ${{ matrix.nixpkgs-override }} | |
popd | |
done | |
check-dead-code: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v23 | |
- uses: cachix/cachix-action@v12 | |
with: | |
name: deadnix | |
- name: check for dead code | |
run: nix run github:astro/deadnix -- . | |
check-fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v23 | |
- name: check formatting | |
run: nix fmt --accept-flake-config -- --check . |