Coverage Matrix Refresh #5
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
| # Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # Weekly refresh of docs/user/coverage-matrix.md. | |
| # | |
| # Runs `make coverage-docs` (which walks the live pkg/cli command registry and | |
| # the in-repo chainsaw/UAT/demo signal trees) and opens or updates a PR if the | |
| # regenerated structural matrix differs from the committed copy. The matrix is | |
| # render-free, so — unlike bom-refresh — no Helm setup is needed. | |
| # | |
| # This refreshes the *structural* matrix (which tests exist) only; the live | |
| # "did it pass on hardware" answer is a link into the AICR TestGrid, never | |
| # embedded in the doc. The matrix never gates merges. | |
| name: Coverage Matrix Refresh | |
| on: | |
| schedule: | |
| # Mondays 06:30 UTC, offset 30m after bom-refresh (0 6 * * 1) so the two bot | |
| # PRs do not land simultaneously and contend for /ok re-fire and runners. | |
| - cron: "30 6 * * 1" | |
| workflow_dispatch: {} | |
| # Only one refresh run at a time: the scheduled and manual triggers both target | |
| # the fixed chore/coverage-refresh branch, so overlapping runs would contend for | |
| # the same branch and churn the PR. | |
| concurrency: | |
| group: coverage-matrix-refresh | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| refresh: | |
| name: Regenerate coverage matrix and open PR on drift | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Load versions | |
| id: versions | |
| uses: ./.github/actions/load-versions | |
| - name: Set up Go | |
| uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version: ${{ steps.versions.outputs.go }} | |
| cache: false | |
| # Single-use, secret-free invocation of an existing Make target — kept | |
| # inline rather than wrapped in a Layer-2 composite action (matches the | |
| # sibling bom-refresh workflow's `run: make bom-docs`). | |
| - name: Regenerate coverage matrix doc | |
| run: make coverage-docs | |
| - name: Open or update refresh PR if the matrix drifted | |
| uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 | |
| with: | |
| # The bot reuses GITHUB_TOKEN; the repo's /ok reviewer-comment | |
| # policy re-fires CI on bot PRs (matches bom-refresh.yaml). | |
| commit-message: "chore(coverage): refresh CUJ/CLI coverage matrix" | |
| title: "chore(coverage): refresh CUJ/CLI coverage matrix" | |
| body: | | |
| Automated weekly refresh of `docs/user/coverage-matrix.md`. | |
| Drift here means a CLI verb was added/removed, or a chainsaw/UAT/demo | |
| signal tree changed which journeys or verbs are exercised. The matrix | |
| is structural (which tests exist); live pass/fail is a TestGrid link. | |
| Review the diff to confirm the change is expected. | |
| branch: chore/coverage-refresh | |
| delete-branch: true | |
| labels: | | |
| area/docs | |
| area/ci |