name: quality on: pull_request: branches: [main] push: branches: [main] permissions: contents: read jobs: changes: runs-on: ubuntu-latest outputs: quality: ${{ steps.filter.outputs.quality }} steps: - uses: actions/checkout@v4 - uses: dorny/paths-filter@v3 id: filter with: filters: | quality: - "**/*.nix" - "flake.lock" - "flake.nix" - "ci/**" - "config/**" - "scripts/**" - ".github/workflows/**" flake-check: name: Flake Check runs-on: ubuntu-latest needs: changes if: ${{ needs.changes.outputs.quality == 'true' }} steps: - uses: actions/checkout@v4 - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main - name: Prepare local flake input shims run: | set -euo pipefail # The repo currently depends on a local path flake input for agentcomputer-cli. sudo mkdir -p /Users/rathi/Documents/GitHub/companion/agentcomputer/apps sudo ln -sfn "$GITHUB_WORKSPACE/ci/agentcomputer-cli-stub" /Users/rathi/Documents/GitHub/companion/agentcomputer/apps/cli - run: nix flake check nix-format: name: Nix Format Check runs-on: ubuntu-latest needs: changes if: ${{ needs.changes.outputs.quality == 'true' }} steps: - uses: actions/checkout@v4 - uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/magic-nix-cache-action@main - name: Prepare local flake input shims run: | set -euo pipefail sudo mkdir -p /Users/rathi/Documents/GitHub/companion/agentcomputer/apps sudo ln -sfn "$GITHUB_WORKSPACE/ci/agentcomputer-cli-stub" /Users/rathi/Documents/GitHub/companion/agentcomputer/apps/cli - run: nix fmt -- --ci