@@ -7,12 +7,16 @@ This runbook documents how Flow CI/CD is wired today and how to debug it quickly
77- Workflows:
88 - ` .github/workflows/canary.yml ` : runs on every push to ` main ` , publishes/updates the ` canary ` release/tag.
99 - ` .github/workflows/release.yml ` : runs on tag pushes matching ` v* ` , publishes stable releases.
10+ - Vendored deps bootstrap:
11+ - Both workflows run ` scripts/vendor/vendor-repo.sh hydrate ` immediately after checkout in each build job.
12+ - This materializes ` lib/vendor/* ` from the pinned commit in ` vendor.lock.toml ` before Cargo builds.
1013- Build jobs in both workflows:
1114 - Matrix build: macOS + Linux targets.
1215 - SIMD build: ` build-linux-host-simd ` (Linux x64 with ` --features linux-host-simd-json ` ).
1316- Release jobs:
1417 - Gather all build artifacts.
1518 - Publish release assets (and in Canary, force-move ` canary ` tag to current ` main ` commit).
19+ - ` release ` waits for both ` build ` and ` build-linux-host-simd ` .
1620
1721## Runner Modes
1822
@@ -92,6 +96,14 @@ gh run view <run-id> --log-failed
9296gh run watch < run-id>
9397```
9498
99+ If failure shows:
100+
101+ - ` failed to load source for dependency 'axum' `
102+ - ` Unable to update .../lib/vendor/axum `
103+ - ` No such file or directory (os error 2) `
104+
105+ then vendored deps were not hydrated before build.
106+
95107### 2) SIMD lane queued forever
96108
97109Usually means self-hosted runner routing issue.
@@ -131,6 +143,25 @@ f ci-blacksmith-enable-apply
131143f ci-blacksmith-disable-apply
132144```
133145
146+ ### 3b) Vendored repo hydrate issues
147+
148+ Hydration depends on ` vendor.lock.toml ` pin and vendor repo availability.
149+
150+ Quick checks:
151+
152+ ``` bash
153+ scripts/vendor/vendor-repo.sh status
154+ scripts/vendor/vendor-repo.sh hydrate
155+ ```
156+
157+ Expected:
158+
159+ - pinned commit in ` vendor.lock.toml ` is non-empty,
160+ - hydrate logs ` hydrated <crate> -> lib/vendor/<crate> ` ,
161+ - ` lib/vendor/axum/Cargo.toml ` and ` lib/vendor/reqwest/Cargo.toml ` exist after hydrate.
162+
163+ If CI cannot clone SSH URL from lock, ` vendor-repo.sh ` now falls back to HTTPS clone for GitHub URLs.
164+
134165### 4) ` curl ... install.sh ` does not fetch expected fresh build
135166
136167Flow installer defaults to ` canary ` unless ` FLOW_VERSION ` is set differently. Check if ` canary ` moved:
0 commit comments