/
RISE gcc CI

RISE gcc CI

GCC Documentation: https://gcc.gnu.org/wiki/PreCommitCI
Postcommit CI dashboard: https://patrick-rivos.github.io/gcc-postcommit-ci/

Sources:

Summary

RISE hosts pre-merge CI build systems for the RISC-V build and testsuite runs for GCC.

This project is intended to help answer the question of whether a patch meets some of the minimum requirements to be merged into GCC, as an aid to maintainers and developers. We also run postcommit CI runs to monitor the health of trunk and assist in triaging unintended breakages.

Process

The GCC CI is a 2 part system.

The post-commit CI runs on a regular cadence and performs a full build+test for a variety of targets. Assuming the build+test finishes without issue, those testsuite results are registered as a new baseline.

When a new patch with "RISC-V" in the title is submitted to the mailing list the precommit pulls it from patchworks. A variety of checks (does the patch apply, linting, build, test) are then run using the post-commit CI as a baseline and source-of-truth for expected failures.

The build/test logic is as follows:

if patch_applies_to_baseline:
	perform build+test, comparing testsuite results with the baseline testsuite results
if patch_does_not_apply_to_baseline and patch_applies_to_trunk:
	perform build
if patch_does_not_apply_to_baseline_or_trunk:
	report a warning

Results are reported to patchworks and may be manually interpreted/directly emailed to upstream maintainers.

Postcommit CI

An example output from postcommit ci:
https://github.com/patrick-rivos/gcc-postcommit-ci/issues/86

Dashboards:
https://github.com/patrick-rivos/gcc-postcommit-ci#dashboards

Precommit CI

An example output from precommit ci:

https://github.com/ewlu/gcc-precommit-ci/issues/491

Status

Project is up and running.


Project Sponsors

  • Edwin Lu (Rivos)
  • Patrick O'Neill (Rivos)

Related content

RISE Build Farm
RISE Build Farm
More like this
Developer Infrastructure WG
Developer Infrastructure WG
Read with this
RISE GLIBC Hosts
RISE GLIBC Hosts
More like this
RISE Linux Kernel Pre-Commit CI
RISE Linux Kernel Pre-Commit CI
More like this
RISE Compiler/Toolchain Projects Tracking
RISE Compiler/Toolchain Projects Tracking
More like this
Project RP006 RISC-V LLVM Testing Improvements
Project RP006 RISC-V LLVM Testing Improvements
More like this