Bump copier from 6.2.0 to 9.2.0 #424
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: ❄️ Nix CI ❄️ | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
env: | |
NIX_CHANNEL: nixpkgs=channel:nixos-22.11 | |
NIX_INSTALL_URL: https://releases.nixos.org/nix/nix-2.13.3/install | |
jobs: | |
# This job checks if an identical workflow is being triggered by different | |
# event and skips it. For instance there is no need to run the same pipeline | |
# twice for pull_request and push for identical commit sha. | |
pre_job: | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/[email protected] | |
with: | |
skip_after_successful_duplicate: 'true' | |
concurrent_skipping: same_content | |
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' | |
nix-checks: | |
needs: pre_job | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: cachix/install-nix-action@v25 | |
with: | |
nix_path: ${{ env.NIX_CHANNEL }} | |
install_url: ${{ env.NIX_INSTALL_URL }} | |
- name: Setup Cachix ❄️ | |
uses: cachix/cachix-action@v14 | |
with: | |
name: fastapi-mvc | |
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | |
- uses: actions/checkout@v4 | |
- name: Check format | |
run: nix-shell -p nixpkgs-fmt --run 'nixpkgs-fmt --check .' | |
- name: Run nix flake check | |
run: nix flake check | |
- name: Run fastapi-mvc metrics checks | |
run: nix run .#metrics | |
- name: Run fastapi-mvc mypy checks | |
run: nix run .#mypy | |
- name: Run fastapi-mvc tests | |
run: nix run .#test | |
nix-build: | |
needs: pre_job | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [ '38', '39', '310', '311' ] | |
os: [ubuntu-latest, macos-12] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Nix ❄️ | |
uses: cachix/install-nix-action@v25 | |
with: | |
extra_nix_config: "system-features = nixos-test benchmark big-parallel kvm" | |
nix_path: ${{ env.NIX_CHANNEL }} | |
install_url: ${{ env.NIX_INSTALL_URL }} | |
- name: Setup Cachix ❄️ | |
uses: cachix/cachix-action@v14 | |
with: | |
name: fastapi-mvc | |
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | |
- name: Build fastapi-mvc | |
run: nix build .#fastapi-mvc-py${{ matrix.python-version }} |