| name: Nix |
|
|
| on: |
| push: |
| branches: [main] |
| pull_request: |
| paths: |
| - 'flake.nix' |
| - 'flake.lock' |
| - 'nix/**' |
| - 'pyproject.toml' |
| - 'uv.lock' |
| - 'hermes_cli/**' |
| - 'run_agent.py' |
| - 'acp_adapter/**' |
|
|
| concurrency: |
| group: nix-${{ github.ref }} |
| cancel-in-progress: true |
|
|
| jobs: |
| nix: |
| strategy: |
| matrix: |
| os: [ubuntu-latest, macos-latest] |
| runs-on: ${{ matrix.os }} |
| timeout-minutes: 30 |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: DeterminateSystems/nix-installer-action@ef8a148080ab6020fd15196c2084a2eea5ff2d25 |
| - uses: DeterminateSystems/magic-nix-cache-action@565684385bcd71bad329742eefe8d12f2e765b39 |
| - name: Check flake |
| if: runner.os == 'Linux' |
| run: nix flake check --print-build-logs |
| - name: Build package |
| if: runner.os == 'Linux' |
| run: nix build --print-build-logs |
| - name: Evaluate flake (macOS) |
| if: runner.os == 'macOS' |
| run: nix flake show --json > /dev/null |
|
|