This repository owns scheduled GCC RISC-V post-commit builds, baseline status issues, comparison artifacts, and the public dashboard consumed by pre-commit CI.
The service consumes riseproject-dev/riscv-gnu-toolchain-ci as the
riscv-gnu-toolchain submodule on build-frequent. Scheduled and manual
workflows build GCC, upload target artifacts, generate status issues in this
repository, and publish dashboard pages at:
https://riseproject-dev.github.io/gcc-postcommit-ci/
Pre-commit CI reads status issues and artifacts from this repository as its baseline source.
| Setting | Required value |
|---|---|
| Actions | Enabled for all workflows |
| Default branch | main |
| Workflow permissions | Read repository contents by default; workflows that create issues, upload Pages artifacts, or write dashboard commits request explicit permissions |
| Issues | Enabled |
| Pages | GitHub Actions source, published from the github-pages environment |
| Environments | production, github-pages |
| Branch protection | Require PR validation and migration guard before merging to main |
| Name | Scope | Minimum permission | Purpose | Required for |
|---|---|---|---|---|
GITHUB_TOKEN |
Repository default | Workflow-declared permissions | Issue updates, artifact reads, Pages publish | Shadow and production |
GIST_TOKEN |
RISE service account | Create secret gists only | Optional long issue body overflow storage | Production if gist overflow is retained |
RISE_CI_READ_TOKEN |
Organization or repository | Read Actions artifacts and issues in RISE CI repositories | Reserved for cross-repository consumers; not needed for same-repository post-commit reads | Pre-commit integration |
PATCHWORK_API |
RISE service account | Patchwork check write | Not used by post-commit; documented for full service cutover | Pre-commit production |
PATCHWORK_REPORTING_ENABLED |
Repository variable | N/A | Not used by post-commit | Pre-commit production |
| Workflow/job | Labels | Purpose | Architecture | Required software | Concurrency | Scope |
|---|---|---|---|---|---|---|
build-test.yaml build/test self-hosted jobs |
self-hosted, linux, x64, rise-gcc-ci |
Long multilib GCC builds and tests | Linux x64 | GCC build deps, DejaGnu, QEMU, Python, zip/unzip | Multiple jobs per scheduled run | Dedicated RISE runner group |
rvv-intrinsic-test.yaml |
self-hosted, linux, x64, rise-gcc-ci |
RVV intrinsic validation | Linux x64 | RVV intrinsic dependencies, compiler toolchain | Low | Dedicated RISE runner group |
GitHub-hosted jobs continue to use ubuntu-24.04.
- Merge the RISE toolchain submodule update first.
- Confirm self-hosted RISE runners are online with the labels above.
- Create the labels listed in
postcommit-maintenance-runbook.md. - Configure
productionandgithub-pagesenvironments. - Resolve the dashboard bot's
mainruleset bypass or use a dedicated data branch; do not leave dashboard persistence blocked by branch protection. - Run a manual post-commit workflow on
main. - Confirm artifacts upload to this repository.
- Confirm a
Testsuite Status <hash>issue is created withvalid-baseline. - Run
Deploy-Dashboardand confirm Pages publishes under the RISE URL. - Only then point pre-commit baseline reads at this repository.
For an empty repository bootstrap, use a manual post-commit run to create the first valid baseline issue. Do not configure a permanent fallback to any non-RISE repository.
- Merge
riseproject-dev/riscv-gnu-toolchain-ci. - Fetch the current RISE
mainimmediately before preparing the post-commit change. The live dashboard continuously adds generated-data commits; replay the migration commits on top of that current head and never force-push or replace the dashboard history. If the PR branch has already been published, merge the current RISEmaininto it and resolve conflicts in generated pages using the RISE snapshot. Preserve the source changes and both branches' existing commits. - Merge this repository with the updated submodule gitlink.
- Run one full post-commit workflow and dashboard deployment.
- Record the first valid baseline issue and artifact run.
- Merge pre-commit CI only after the baseline exists.
- Disable legacy schedules after RISE workflows have produced valid artifacts, issues, and dashboard pages.
Automatic dashboard deployments run only in the RISE repository. Forks can
still dispatch Deploy-Dashboard manually for preview, but scheduled runs and
pushes no longer add generated-page commits to a fork's open PR branch.
Before enabling production schedules, update the repository description and
homepage, make the RISE repository the local origin, verify the RISE
maintainer team/rulesets, and export the old repository's labels, environments,
Actions settings, Pages configuration, webhooks, Apps, deploy keys, and runner
registrations. Git pushes do not migrate that service state.
This repository does not currently contain a top-level license file. Before the RISE repository is presented as the authoritative project, confirm the code's provenance and redistribution terms with the former maintainers and add the approved license; changing repository URLs does not itself transfer copyright.
Add CODEOWNERS only after the exact RISE maintainer team slug is confirmed,
and grant ownership to that team rather than to an individual account. Record
the primary and backup service owners, incident contact, and token-rotation
owner in the RISE operations system.
- Disable post-commit schedules in this repository.
- Re-enable the previous production schedules only if required to keep service continuity.
- Revert the latest post-commit migration commit on
main. - Keep RISE status issues and artifacts for audit; do not rewrite history or delete remote records.
- Re-run the migration guard before attempting cutover again.
Maintained release workflows include release_15_ and release_16_ artifact
prefixes and use release-15 and release-16 branch inputs. The older retired
release line is no longer scheduled, listed in workflow choices, or consumed by
dashboard ingestion.