Repository navigation
Merge pull request #466 from camaraproject/dependabot/npm_and_yarn/va… #150
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
| # CAMARA Validation Framework — Validation Regression (canary) | |
| # | |
| # Auto-dispatches validation/scripts/regression_runner.py against | |
| # camaraproject/ReleaseTest on every push to main, so that "broken | |
| # stays broken" and "clean stays clean" are verified automatically | |
| # before v1-rc is moved for the rest of the org. | |
| # | |
| # The runner dispatches camara-validation.yml on each branch matching | |
| # regression/* on ReleaseTest, waits for it to complete, downloads the | |
| # diagnostics artifact, and diffs the findings against each branch's | |
| # committed .regression/regression-expected.yaml fixture. | |
| # | |
| # Cross-repo access is provided by a short-lived camara-validation | |
| # GitHub App installation token scoped to camaraproject/ReleaseTest. | |
| # The default GITHUB_TOKEN is only used for the initial checkout. | |
| # | |
| # See validation/docs/regression-testing.md for the full picture. | |
| # | |
| # Also sweeps camaraproject/CommonalitiesTest via the same trigger, forced | |
| # unconditionally: a tooling push has no correlation with Commonalities' | |
| # own content, so without `force` the CommonalitiesTest diff-check would | |
| # almost always come back empty here, and the sweep would essentially | |
| # never fire from this path. | |
| name: Validation Regression | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'validation/**' | |
| - 'shared-actions/**' | |
| - 'tooling_lib/**' | |
| - '.github/workflows/validation.yml' | |
| - '.github/workflows/validation-regression.yml' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| # Keep validation runtime pins explicit and aligned across CI workflows. | |
| PYTHON_VERSION: "3.14" | |
| jobs: | |
| regression: | |
| name: ReleaseTest canary | |
| runs-on: ubuntu-latest | |
| # Scoped to this job, not the whole workflow: a workflow-level | |
| # concurrency group cancels every job in the run, including the | |
| # commonalities-regression job below, which calls into a reusable | |
| # workflow that must not be cancelled mid-push (see its own | |
| # concurrency comments). This job only dispatches and diffs, so | |
| # cancelling a stale run in favor of a fresher one is safe here. | |
| concurrency: | |
| group: validation-regression-release-test-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout tooling | |
| uses: actions/checkout@v7 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Python | |
| uses: actions/setup-python@v7 | |
| with: | |
| python-version: ${{ env.PYTHON_VERSION }} | |
| - name: Install runner dependencies | |
| run: | | |
| pip install --upgrade pip | |
| pip install --quiet -r requirements.txt | |
| - name: Mint validation app token | |
| id: app-token | |
| uses: actions/create-github-app-token@v3 | |
| with: | |
| client-id: ${{ vars.VALIDATION_APP_CLIENT_ID }} | |
| private-key: ${{ secrets.VALIDATION_APP_PRIVATE_KEY }} | |
| owner: camaraproject | |
| repositories: ReleaseTest | |
| - name: Run regression runner | |
| env: | |
| GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
| run: | | |
| python3 validation/scripts/regression_runner.py \ | |
| --repo camaraproject/ReleaseTest \ | |
| --branch-filter 'regression/*' \ | |
| --summary-file validation-regression-summary.md | |
| - name: Publish summary | |
| if: always() | |
| run: | | |
| if [ -f validation-regression-summary.md ]; then | |
| cat validation-regression-summary.md >> "$GITHUB_STEP_SUMMARY" | |
| else | |
| echo "::warning::validation-regression-summary.md not produced (runner likely failed before writing)" | |
| fi | |
| - name: Upload summary artifact | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: validation-regression-summary | |
| path: validation-regression-summary.md | |
| if-no-files-found: warn | |
| retention-days: 30 | |
| commonalities-regression: | |
| name: CommonalitiesTest | |
| uses: ./.github/workflows/commonalities-regression-sync.yml | |
| with: | |
| force: true | |
| secrets: inherit |