Commit 0489466
authored
chore(ci): drop the prepare-cli-workspace workaround (#678)
* chore(ci): drop the prepare-cli-workspace workaround
The morphir CLI job rewrote Cargo.toml to exclude morphir-live, deleted
Cargo.lock, regenerated it, and ran `cargo update -p extism`. That
existed to dodge a toml_datetime conflict: morphir-live's dioxus ->
gtk 0.18 -> proc-macro-crate 2.0.2 pinned toml_datetime to exactly
0.6.3, which blocked the extism version the CLI needs.
That conflict was fixed in #677 by moving proc-macro-crate to 2.0.0,
which frees toml_datetime and lets extism resolve to 1.13.0 with
morphir-live still in the workspace. The workaround's final step,
`cargo update -p extism`, was manually forcing the very upgrade the
committed lockfile now encodes.
Removing it also closes a real gap: the job deleted and regenerated
Cargo.lock, so CI never validated the committed lockfile. It does now,
meaning a lockfile regression gets caught instead of silently papered
over.
Verified by running the job's steps against the committed lockfile with
--locked, which fails if the lockfile needs any change:
cargo fmt --package morphir --check exit 0
cargo clippy --locked --package morphir --all-targets -Dwarnings exit 0
cargo test --locked --package morphir exit 0
cargo build --locked --release --package morphir exit 0
Cargo.lock was unmodified afterwards.
* ci: pass --locked to cargo commands that resolve dependencies
Removing prepare-cli-workspace was supposed to make CI validate the
committed Cargo.lock, but on its own it does not. Without --locked,
cargo silently rewrites the lockfile in the checkout when it is stale
and the job passes against an uncommitted resolution, so a lockfile
regression still slips through.
This is not hypothetical: bumping the morphir-rust submodule in #677
caused a plain `cargo check` to re-resolve nbformat 1.0.0 -> 1.2.2 on
its own, with no prompting.
Add --locked to the commands that resolve dependencies in both the
morphir-live and morphir CLI jobs. cargo fmt does not resolve, so it is
left alone.
Verified locally for the CLI job against the committed lockfile:
clippy, test, and release build all pass with --locked, and Cargo.lock
is unmodified afterwards. The morphir-live job's desktop build needs
GTK system libraries that are unavailable locally, so CI is the check
for that one.
Raised by automated review on #678.1 parent 0b12b59 commit 0489466
3 files changed
Lines changed: 7 additions & 97 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | 183 | | |
188 | 184 | | |
189 | 185 | | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
| 77 | + | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | 89 | | |
91 | 90 | | |
92 | 91 | | |
| |||
105 | 104 | | |
106 | 105 | | |
107 | 106 | | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | 107 | | |
113 | 108 | | |
114 | 109 | | |
| |||
119 | 114 | | |
120 | 115 | | |
121 | 116 | | |
122 | | - | |
| 117 | + | |
123 | 118 | | |
124 | 119 | | |
125 | | - | |
| 120 | + | |
126 | 121 | | |
127 | 122 | | |
128 | | - | |
| 123 | + | |
129 | 124 | | |
130 | 125 | | |
131 | 126 | | |
| |||
0 commit comments