fix(packaging): strip pip direct_url.json from the frozen CLI #447
Workflow file for this run
This file contains hidden or 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: tests | |
| on: | |
| push: | |
| branches: [main] | |
| # Stacked UI changes target their predecessor branch until it merges, so | |
| # every pull request must receive the same required checks as a main PR. | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| pytest: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # All three gate on the Linux CI runner. Local caveat: on macOS + 3.13 | |
| # the psutil-based process-ownership tests (control / runner / supervisor) | |
| # currently fail — a platform quirk in how process identity reads back on | |
| # that combo (create_time / cmdline / cwd). It does not affect Linux CI | |
| # and is tracked as a separate follow-up. | |
| python-version: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| # Full history: the Gate 1 evidence-binding test verifies git | |
| # provenance of recovery evidence and fails closed on a shallow | |
| # checkout that cannot see the referenced commits. | |
| fetch-depth: 0 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install package | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -e . pytest | |
| - name: Run tests | |
| run: pytest -q | |
| macos-app: | |
| name: macOS app and UI snapshots | |
| runs-on: macos-26 | |
| timeout-minutes: 20 | |
| env: | |
| DEVELOPER_DIR: /Applications/Xcode_26.6.app/Contents/Developer | |
| LANG: en_US.UTF-8 | |
| LC_ALL: en_US.UTF-8 | |
| TZ: UTC | |
| defaults: | |
| run: | |
| working-directory: apps/agentacct | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Test visual snapshot CLI | |
| run: ./Tests/visual-snapshots-cli-tests.sh | |
| - name: Test dashboard reference candidate packaging | |
| run: ./Tests/dashboard-reference-candidate-cli-tests.py | |
| - name: Test dashboard reference candidate intake | |
| run: ./Tests/dashboard-reference-candidate-intake-cli-tests.py | |
| - name: Run Swift tests | |
| run: swift test | |
| - name: Test app bundle identity | |
| run: ./Tests/build-app-identity-tests.sh | |
| - name: Detect canonical visual renderer | |
| id: visual-renderer | |
| run: | | |
| if ./Scripts/visual-snapshots check-environment; then | |
| echo "canonical=true" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "canonical=false" >> "$GITHUB_OUTPUT" | |
| echo "::notice::Reviewed pixel references require the exact canonical renderer;" \ | |
| "deterministic render tests and the review artifact still run on this hosted image." | |
| fi | |
| - name: Verify UI visual references | |
| id: visual_references | |
| if: steps.visual-renderer.outputs.canonical == 'true' | |
| env: | |
| AGENTACCT_SNAPSHOT_ARTIFACT_DIR: ${{ runner.temp }}/agentacct-ui-diff | |
| run: ./Scripts/visual-snapshots verify | |
| - name: Upload UI visual failures | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: ui-diff-${{ github.sha }} | |
| path: ${{ runner.temp }}/agentacct-ui-diff/*.png | |
| if-no-files-found: ignore | |
| retention-days: 14 | |
| - name: Build release executable | |
| id: review_build | |
| if: ${{ !cancelled() }} | |
| run: swift build -c release | |
| - name: Render UI review matrix | |
| id: review_render | |
| if: ${{ !cancelled() && steps.review_build.outcome == 'success' }} | |
| run: | | |
| .build/release/agentacct \ | |
| --snapshot-dashboard-fixture \ | |
| Tests/agentacctTests/Fixtures/dashboard.json \ | |
| "$RUNNER_TEMP/agentacct-ui-review" | |
| .build/release/agentacct \ | |
| --snapshot-usage-fixture \ | |
| Tests/agentacctTests/Fixtures/dashboard.json \ | |
| "$RUNNER_TEMP/agentacct-ui-review" | |
| .build/release/agentacct \ | |
| --snapshot-menu-fixture \ | |
| Tests/agentacctTests/Fixtures/dashboard.json \ | |
| "$RUNNER_TEMP/agentacct-ui-review" | |
| .build/release/agentacct \ | |
| --snapshot-work-fixture \ | |
| Tests/agentacctTests/Fixtures/dashboard.json \ | |
| "$RUNNER_TEMP/agentacct-ui-review" | |
| - name: Upload UI review matrix | |
| if: ${{ !cancelled() && steps.review_render.outcome == 'success' }} | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: ui-review-${{ github.sha }} | |
| path: ${{ runner.temp }}/agentacct-ui-review/*.png | |
| if-no-files-found: error | |
| retention-days: 14 | |
| - name: Upload canonical dashboard baseline candidates | |
| if: ${{ !cancelled() && steps.visual-renderer.outputs.canonical == 'true' && steps.visual_references.outcome == 'failure' && steps.review_render.outcome == 'success' }} | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: dashboard-baseline-candidate-macos-26.6-25G72-xcode-26.6-17F113-arm64-2x-${{ github.sha }} | |
| path: ${{ runner.temp }}/agentacct-ui-review/dashboard-*.png | |
| if-no-files-found: error | |
| retention-days: 14 |