tasty-bdd-0.1.0.2: .github/workflows/ci.yml
name: CI
on:
push:
branches: [master, 'chore/**']
pull_request:
branches: [master]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build-gate:
name: Build Gate
runs-on: ${{ github.repository_owner == 'lambdasistemi' && 'nixos' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v6
- name: Install Nix before organization transfer
if: github.repository_owner != 'lambdasistemi'
uses: paolino/dev-assets/setup-nix@0328b73b71788bb83848fe407dd04136a52c3697
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
- uses: cachix/cachix-action@v17
if: github.repository_owner == 'lambdasistemi'
with:
name: paolino
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- run: nix flake check --accept-flake-config --no-eval-cache
- run: nix build --accept-flake-config .#devShells.x86_64-linux.default.inputDerivation
checks:
name: CI ${{ matrix.check }}
needs: build-gate
runs-on: ${{ github.repository_owner == 'lambdasistemi' && 'nixos' || 'ubuntu-latest' }}
strategy:
fail-fast: false
matrix:
check: [unit, format-check, hlint, cabal-check, workflow-check, docs, sdist-rebuild, api-compat, hackage-quality]
steps:
- uses: actions/checkout@v6
- name: Install Nix before organization transfer
if: github.repository_owner != 'lambdasistemi'
uses: paolino/dev-assets/setup-nix@0328b73b71788bb83848fe407dd04136a52c3697
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
- run: nix run --accept-flake-config .#${{ matrix.check }}
dev-shell:
name: CI dev-shell
needs: build-gate
runs-on: ${{ github.repository_owner == 'lambdasistemi' && 'nixos' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v6
- name: Install Nix before organization transfer
if: github.repository_owner != 'lambdasistemi'
uses: paolino/dev-assets/setup-nix@0328b73b71788bb83848fe407dd04136a52c3697
with:
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
- run: nix develop --accept-flake-config --quiet -c just build
- run: nix develop --accept-flake-config --quiet -c just unit