weekly-certification #8
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
| # --------------------------------------------------------------------------- | |
| # T2 -- the weekly certification. | |
| # | |
| # The suite runs at three cadences. Which tier a block belongs to is decided by | |
| # the CLASS OF BUG it catches, not by how long it takes | |
| # (dev/plans/backlog/2026-07-29_test-suite-tiering-audit_AUDIT.md; | |
| # dev/review-2026-08/MAINTAINERS.md section 6). | |
| # | |
| # T0 every run local devtools::test() + .github/workflows/fast-checks.yaml | |
| # Contracts, validation, wiring, the product surface, the tight numerical | |
| # unit guards. No gate. Budget ~90 s. | |
| # | |
| # T1 nightly .github/workflows/nightly-validation.yaml. Daily 03:00 UTC. | |
| # BGMS_RUN_SLOW_TESTS=true. | |
| # Graph-law and prior-chain identities, the gauge detector, single | |
| # surface-vs-gold cells, the RB saturation boundary, concordance smokes. | |
| # Budget <= 60 min on the 2-core runner; timeout-minutes: 90. | |
| # | |
| # T2 weekly THIS FILE. Sunday 03:00 UTC on develop. | |
| # BGMS_RUN_CERTIFICATION=true AND BGMS_RUN_SLOW_TESTS=true, so a weekly | |
| # run carries the nightly tier as well and certifies the whole suite. | |
| # The heavy Monte-Carlo machinery: SBC suites (1000-fit), full | |
| # parameter-recovery sweeps, full NUTS-vs-MH condition grids, n = 2e6 MC | |
| # channels, and the refit cross-validations (including the F-049 gate). | |
| # timeout-minutes: 360. | |
| # | |
| # Not to be confused with weekly-compliance.yaml (Sunday 05:00), the bitwise | |
| # vs-CRAN-0.1.6.3 harness. That workflow is unrelated and untouched. | |
| # | |
| # Ref mechanics: GitHub fires cron schedules from the DEFAULT branch's copy of | |
| # this file, so this workflow only starts firing once it reaches main at the | |
| # release re-merge; the explicit checkout ref is what then points it at develop, | |
| # the branch where change happens. A manual dispatch checks out the ref it was | |
| # dispatched on. | |
| # --------------------------------------------------------------------------- | |
| name: weekly-certification | |
| on: | |
| schedule: | |
| - cron: '0 3 * * 0' # Sunday at 03:00 UTC | |
| workflow_dispatch: {} | |
| jobs: | |
| certify: | |
| name: T2 weekly certification (Monte-Carlo machinery, <= 6 h) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 360 | |
| env: | |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
| R_KEEP_PKG_SOURCE: yes | |
| BGMS_RUN_SLOW_TESTS: true | |
| BGMS_RUN_CERTIFICATION: true | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event_name == 'schedule' && 'develop' || github.ref }} | |
| - uses: r-lib/actions/setup-r@v2 | |
| with: | |
| use-public-rspm: true | |
| - uses: r-lib/actions/setup-r-dependencies@v2 | |
| with: | |
| # Deliberately NOT local::. -- installing bgms here costs ~10 min of | |
| # the runner's budget and would serve exactly one test block, whose | |
| # PSOCK workers need an installed namespace. That block skips itself | |
| # when bgms is absent; R-CMD-check.yaml covers the path on five | |
| # platforms with the package installed. | |
| extra-packages: any::devtools | |
| - name: Run the full suite (T0 + T1 + T2) | |
| run: Rscript -e 'devtools::test(stop_on_failure = TRUE)' |