Commit Graph

20 Commits

Author SHA1 Message Date
Argenis
326b60d1aa
fix(ci): fix test-e2e YAML - add job-level env to suppress rust-docs install on 1.92.0 2026-03-05 16:17:59 -05:00
Argenis
29c0bf2b96
fix(ci): fix YAML indentation of E2E job env block; set ENSURE_RUST_COMPONENTS empty 2026-03-05 16:13:16 -05:00
Argenis
975d119ba0
fix(ci): set ENSURE_RUST_COMPONENTS='' in E2E job to skip unavailable rust-docs on 1.92.0
Added environment variable to skip rust-docs in E2E tests.
2026-03-05 16:09:42 -05:00
jordanthejet
5dfa722738 ci: consolidate CI/CD pipeline — 6 Rust jobs → 2, unified cache, frequency optimization
Consolidate redundant Rust compilation jobs to cut PR cycle time from 2+ hours
to ~30 minutes by reducing parallel cold compilations and upgrading runners.

CI Run (ci-run.yml):
- Merge lint + workspace-check + package-check → quality-gate (25min, 8vcpu)
- Merge test + build → test-and-build (30min, 8vcpu)
- Unify cache keys: prefix-key=zeroclaw-ci-v1, shared-key=runner.os-rust
- Update ci-required gate, lint-feedback deps to reference new job names

Security Audit (sec-audit.yml):
- Merge audit + deny + security-regressions → rust-security (25min, 8vcpu)
- Merge sbom + unsafe-debt → compliance (lightweight runner)
- Add fast-path: non-Rust PRs skip Rust compilation entirely

Frequency optimization (off PR path):
- sec-codeql.yml: push-to-main + weekly only (was PR + push)
- ci-reproducible-build.yml: push-to-main + weekly only (was PR + push)
- ci-change-audit.yml: push-to-main only (was PR + push)

Runner upgrades:
- All Rust compilation jobs: 2vcpu → blacksmith-8vcpu-ubuntu-2404
- ci-supply-chain-provenance, test-fuzz: upgraded to 8vcpu
- test-e2e: upgraded to 8vcpu, fixed env indentation bug

Feature matrix (feature-matrix.yml):
- Non-default lanes (whatsapp-web, browser-native, nightly-all-features)
  skip on compile profile, run on nightly only
- resolve-profile + summary jobs use ubuntu-latest (no Rust compilation)

Docs/scripts:
- lint_feedback.js: update job name references for quality-gate
- required-check-mapping.md: document new consolidated job names
- ci-map.md: update trigger map, triage guide, maintenance rules
- self-hosted-runner-remediation.md: update job name reference

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:51:07 -05:00
Argenis
d3c1ee1631
fix(ci): disable auto rust-docs component in test-e2e to fix toolchain 1.92.0 2026-03-05 14:30:17 -05:00
argenis de la rosa
2dba3b5e57 chore: remove Linear and Hetzner integrations (replay #2809) 2026-03-05 02:17:32 -05:00
xj
776e15e381 ci: enforce strict cargo component check for pinned toolchains 2026-03-02 22:45:48 -08:00
xj
8f4a400b60 ci: ensure cargo component before cache and e2e tests 2026-03-02 22:27:54 -08:00
Chummy
1e6d4f17f5 ci: route workflows to hetzner self-hosted runner pool 2026-03-02 18:28:28 +08:00
argenis de la rosa
182d7742d1 fix(ci): bootstrap cc toolchain on self-hosted rust workflows 2026-03-01 23:40:36 -05:00
xj
0dfdb578c1 ci(runners): unblock main with hosted fallback and health checks 2026-03-01 18:22:43 -08:00
argenis de la rosa
28eaef1782 fix(ci): reduce queue saturation via branch supersedence 2026-02-28 23:34:19 -05:00
Chummy
467888b872 ci: tighten low-signal triggers and gate e2e by paths 2026-02-28 05:13:09 +08:00
Chummy
6da4a321b8 ci: remove blacksmith action dependencies 2026-02-28 05:00:01 +08:00
argenis de la rosa
b27b44829a chore: promote dev snapshot to main (resolve #1978/#1970) 2026-02-26 21:09:33 -05:00
Chummy
3afbad1e89 ci: stabilize main checks for docs and e2e scope 2026-02-26 20:31:54 +08:00
Chummy
caae81b3c9 ci: remove blacksmith runner/actions and use self-hosted labels 2026-02-26 13:33:15 +08:00
Will Sarg
dbb2c80c1a
ci(workflow): adopt main/dev split with dev->main promotion gate (#1283)
* ci(docker): restrict image publish to v* tag pushes (#1280)

* ci(workflow): adopt dev->main promotion flow
2026-02-21 13:39:07 -05:00
Will Sarg
b5e1c3a8f5
chore(ci): align workflow names with file naming style (#723)
* feat: Add GitHub Actions workflows for security audits, CodeQL analysis, contributor updates, performance benchmarks, integration tests, fuzz testing, and reusable Rust build jobs

- Implemented `sec-audit.yml` for Rust package security audits using `rustsec/audit-check` and `cargo-deny-action`.
- Created `sec-codeql.yml` for CodeQL analysis scheduled twice daily.
- Added `sync-contributors.yml` to update the NOTICE file with new contributors automatically.
- Introduced `test-benchmarks.yml` for performance benchmarks using Criterion.
- Established `test-e2e.yml` for running integration and end-to-end tests.
- Developed `test-fuzz.yml` for fuzz testing with configurable runtime.
- Created `test-rust-build.yml` as a reusable job for executing Rust commands with customizable parameters.
- Documented main branch delivery flows in `main-branch-flow.md` for clarity on CI/CD processes.

* ci(workflows): update workflow scripts and rename for clarity; remove obsolete lint feedback script

* chore(ci): externalize workflow scripts and relocate main flow doc

* chore(ci): align workflow names with file naming style
2026-02-17 19:55:05 -05:00
Will Sarg
69a3b54968
chore(ci): externalize workflow scripts and relocate main flow doc (#722)
* feat: Add GitHub Actions workflows for security audits, CodeQL analysis, contributor updates, performance benchmarks, integration tests, fuzz testing, and reusable Rust build jobs

- Implemented `sec-audit.yml` for Rust package security audits using `rustsec/audit-check` and `cargo-deny-action`.
- Created `sec-codeql.yml` for CodeQL analysis scheduled twice daily.
- Added `sync-contributors.yml` to update the NOTICE file with new contributors automatically.
- Introduced `test-benchmarks.yml` for performance benchmarks using Criterion.
- Established `test-e2e.yml` for running integration and end-to-end tests.
- Developed `test-fuzz.yml` for fuzz testing with configurable runtime.
- Created `test-rust-build.yml` as a reusable job for executing Rust commands with customizable parameters.
- Documented main branch delivery flows in `main-branch-flow.md` for clarity on CI/CD processes.

* ci(workflows): update workflow scripts and rename for clarity; remove obsolete lint feedback script

* chore(ci): externalize workflow scripts and relocate main flow doc
2026-02-17 19:48:37 -05:00