name: Nix # Builds pandoc with the flake (haskell-flake) on Linux and macOS. on: push: paths: - 'stack.yaml' - 'pandoc.cabal' - 'flake.nix' - 'flake.lock' branches: - 'main' pull_request: workflow_dispatch: permissions: contents: read concurrency: group: nix-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: nix-build: name: nix build (${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest steps: - uses: actions/checkout@v7 - uses: cachix/install-nix-action@v31 with: extra_nix_config: | experimental-features = nix-command flakes accept-flake-config = true # Cache the /nix/store across runs so dependencies don't recompile. - uses: nix-community/cache-nix-action@v7 with: primary-key: nix-${{ matrix.os }}-${{ hashFiles('flake.lock', 'flake.nix', '**/*.cabal', 'cabal.project') }} restore-prefixes-first-match: nix-${{ matrix.os }}- - name: nix build run: nix build .#default --print-build-logs - name: pandoc --version run: nix run .#default -- --version