Skip to content

ci: add Codecov, Snyk, SonarCloud and Codacy badges - #24

Merged
EquityBot merged 4 commits into
developfrom
ryan/badges-parity
Oct 31, 2026
Merged

EquityBot merged 4 commits into
developfrom
ryan/badges-parity

Conversation

@EquityBot

Copy link
Copy Markdown
Owner

Summary

Brings this repository's badges up to the maintainer's other account: Codecov coverage, a Snyk scan, SonarCloud and Codacy.

ci.yml runs only on pull requests, so a new coverage.yml runs the suite under cargo llvm-cov on pushes to develop, same-repository pull requests and manual runs, then uploads by OIDC. Snyk tests every member SBOM of both workspace roots. Third-party actions are pinned by SHA, release and benchmark builds use --locked, install.sh enforces HTTPS, rustls moves to 0.23.46 for 2 Dependabot alerts, and benchmark tools are pinned.

Evidence

  • cargo fmt --check and clippy: clean.
  • cargo test: 4,920 passed; 1 known Windows-only failure, unchanged by this branch.
  • actionlint (with shellcheck) and YAML parse: pass.

Merge danger

Door: two-way. Blast radius: CI

The Codecov job continues on error, so an outage there cannot turn the tests badge red. The OIDC token is granted only to that job, never to a job that runs tests.

Unverified

  • The changed workflows have not run yet; this PR's own run is the first.
  • Codecov has not yet received an OIDC upload for this repository, so the first upload is unconfirmed.
  • The VM tarball script was not run (no bun or multipass locally).
  • Workflow-wide write permissions in cd.yml and release.yml are left for the maintainer.

coverage.yml runs the tests under cargo-llvm-cov on pushes to develop,
same-repository pull requests and manual runs, and a separate codecov job
uploads the report with OIDC. snyk.yml tests the root and proxy Cargo
graphs as CycloneDX SBOMs. The README gains tests, Codecov, Snyk and
SonarCloud badges beside CodeQL and Codacy.

The isolation test now ignores __LLVM_PROFILE_RT_INIT_ONCE, which the
profiling runtime in an instrumented rtk sets for its own children.

SECURITY.md sends reports to this repository's private vulnerability
reporting form instead of upstream RTK's address, and CONTRIBUTING.md
states the test policy and the CI test command.
dtolnay/rust-toolchain and Swatinem/rust-cache are pinned by commit SHA
in ci.yml and release.yml, the release and benchmark builds pass --locked,
pull-requests: read moves from the workflow to the doc-review job that
uses it, and install.sh's redirect-following downloads refuse anything
but HTTPS. These address SonarCloud findings S7637, S8549, S8264 and
S6506.
…ectory

rustls moves to 0.23.46 (with rustls-webpki 0.103.16) in the root lock,
which resolves GHSA-2mjx-qc3c-rqvc and GHSA-c8m5-c952-6cm4; proxy/ already
locks 0.23.46. The benchmark job installs exact versions of ruff, pytest,
mypy and golangci-lint, wheels only, and the benchmark VM helper builds
its source tarball in a per-run temporary directory instead of a fixed
/tmp path.
snyk.yml tests each SBOM cargo-cyclonedx writes, one per workspace
member, instead of the root package's alone. The codecov job continues
on error, so a failed upload no longer fails the workflow behind the
tests badge; fail_ci_if_error still marks the job itself failed.
@EquityBot
EquityBot enabled auto-merge (squash) October 31, 2026 22:37
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@EquityBot
EquityBot merged commit 48e8d04 into develop Oct 31, 2026
25 of 28 checks passed
@EquityBot
EquityBot deleted the ryan/badges-parity branch October 31, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants