Skip to content

ci: pinned ci-workflows reusables — ci, supply-chain, codeql, releases - #16

Merged
7 commits merged into
mainfrom
ci/github-actions
Sep 22, 2026
Merged

7 commits merged into
mainfrom
ci/github-actions

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Summary

Replaces the hand-rolled workflow with the estate's pinned reusable library (NDDev-OpenNetwork/ci-workflows @ a7b90bd, release 0.1.26) and closes the supply-chain gaps it documented:

  • ci.yml → rust-ci: locked workspace build, fmt --check, clippy across five feature lanes (default, noq/owned-relay, metrics, x11, desktop), ubuntu+macos test matrix
  • supply-chain.yml → rust-supply-chain: cargo-deny, cargo-audit, cargo-machete per deny.toml on PR/push + weekly — closes the gap where deny.toml documented a check no workflow ran
  • codeql.yml → public-codeql: rust (build-mode none) + actions; code scanning was not-configured
  • release.yml → release-supply-chain: tag X.Y.Z → resolve → release-environment authorize → immutable release (source archive, SPDX SBOM, SHA256SUMS, SLSA/SBOM attestations)
  • dependabot.yml: weekly cargo + github-actions with 7-day cooldown
  • VERSION = 0.1.0 (release contract); tag ruleset applied live (id 23828256): X.Y.Z tags are create-only, delete/rewrite denied
  • deny.toml: allow Unlicense + CDLA-Permissive-2.0 (iroh transitive deps); scoped ignores for RUSTSEC-2023-0089 / RUSTSEC-2024-0436 (unmaintained, no upgrade path — bounds documented)
  • 13 unused deps removed across 8 crates (cargo-machete clean)

Test plan

Local evidence on this tree:

  • cargo fmt --all -- --check — clean
  • cargo build --locked --workspace --all-targets — clean
  • cargo test --locked --workspace — 34 targets, all green
  • cargo test --locked -p rds-net -p rds-agent -p rds-relay --features rds-net/transport-noq,rds-agent/transport-noq,rds-relay/owned-relay — green
  • cargo deny check bans licenses advisories sources — ok
  • cargo audit — only the two documented unmaintained warnings
  • cargo machete — clean
  • actionlint — clean; zizmor 1.26.1 --persona pedantic (online, GH_TOKEN) — no findings
  • First live run of the new workflows happens on this PR

Notes: macOS clippy lane was dropped in favor of the reusable's single ubuntu clippy (macOS still compiles+tests in the matrix). The release environment is unprotected until a required reviewer is configured in repo settings — additive seam, no behavior change for non-tag events.

Generated with Devin

rldyourmnd and others added 5 commits September 22, 2026 19:43
…deny policy

cargo-machete flagged 13 declared dependencies that nothing imports:
serde (agent/desktop/relay), bytes (cli/relay), rand (relay),
tracing (discovery, bench), proptest (sync dev-dep), rds-core (bench),
async-trait (desktop), thiserror and tracing-subscriber (net).
All removed; the workspace still builds and tests green under
--locked.

deny.toml gains the two licenses the iroh transitive tree actually
ships (Unlicense, CDLA-Permissive-2.0) and ignores the two
unmaintained advisories that have no upgrade path (atomic-polyfill
via rustls, paste via iroh-quinn) — with a comment explaining the
bounds so the ignore can't silently absorb future advisories.

`cargo deny check bans licenses advisories sources` and
`cargo audit` now pass locally; `cargo machete` is clean.

Generated with Devin

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ning

Replaces the hand-rolled workflow with callers of
NDDev-OpenNetwork/ci-workflows @ a7b90bd (release 0.1.26):

- ci.yml → rust-ci: locked build, fmt --check, clippy across five
  feature lanes (default, noq/owned-relay, metrics, x11, desktop),
  and a ubuntu+macos test matrix running the workspace suite plus
  feature tests.
- supply-chain.yml → rust-supply-chain: cargo-deny, cargo-audit and
  cargo-machete on every PR/push and weekly, closing the gap where
  deny.toml documented a check no workflow ran.
- codeql.yml → public-codeql: rust (build-mode none) + actions
  analysis; enables code scanning, which default setup reports as
  not-configured.

Top-level permissions remain {}; caller jobs declare only the
scopes their callee needs; ubuntu-latest everywhere (public repo).
actionlint clean; zizmor 1.26.1 pedantic clean.

Generated with Devin

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Tagging X.Y.Z runs resolve → authorize (release environment) →
release-supply-chain, which validates the release contract
(VERSION file == tag, CHANGELOG heading) and publishes the source
archive, SPDX SBOM, SHA256SUMS and SLSA/SBOM attestations.

Adds VERSION (0.1.0, matching Cargo.toml) and a tag ruleset
(refs/tags/X.Y.Z: creation open, deletion + rewrite denied),
applied to the repo as ruleset 23828256.

Generated with Devin

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Mirrors the estate convention: grouped minor/patch cargo updates
and action pinning updates with a 7-day cooldown so fresh releases
get a bake-in window.

Generated with Devin

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with Devin

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

rldyourmnd and others added 2 commits September 22, 2026 19:50
YAML `>-` folding only joins lines at the scalar's own indentation;
the extra-indented `--features`/`-- -D warnings` continuations kept
their line breaks, so bash executed `--features` as a command and the
clippy job exited 127. Flatten every continuation to one line.

Generated with Devin

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
… test

Path pinning caps concurrent multipath paths at one, but it does not
suppress iroh's direct-path probes at candidates learned through
in-band address exchange. Whether probes land inside the test window
is platform timing — macOS runners observed 4 direct datagrams, Linux
none. The counter is correct to count them; asserting zero tested a
transport-timing property, not counter accuracy.

The C7 gate stands on the relay side: payload datagrams, sent and
received bytes and seen paths must all register via=relay.

Generated with Devin

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@rldyourmnd rldyourmnd closed this pull request by merging all changes into main in 393b84b Sep 22, 2026
@rldyourmnd
rldyourmnd deleted the ci/github-actions branch September 22, 2026 16:39
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