Avoid Docker push when the image did not change - #160434
Conversation
|
@bors try jobs=x86_64-rust-for-linux |
This comment has been minimized.
This comment has been minimized.
Avoid Docker push when the image did not change try-job: x86_64-rust-for-linux
|
@bors try jobs=x86_64-rust-for-linux |
This comment has been minimized.
This comment has been minimized.
Avoid Docker push when the image did not change try-job: x86_64-rust-for-linux
|
Looks like invalidation works, the last CI run rebuilt Docker. |
|
Also CC @Mark-Simulacrum |
|
The problem of this approach is that we don't get dockerhub base images updates (which might also include security fixes). One solution might be detecting the image manifest digest (with the inspect command) and rebuild the image only if the digest changed. |
|
I'm not sure if I understand 🤔 Which base images are you talking about? Are you suggesting that when we have |
Avoid Docker push when the image did not change This was bugging me for a long time. Could the solution be so easy this whole time? :) CI runs: - [Image pulled](https://github.com/rust-lang/rust/actions/runs/30814436863/job/91688737728) (I manually cancelled the job after the download) - [Image built](https://github.com/rust-lang/rust/actions/runs/30815010995/job/91690611647) r? @marcoieni
Rollup of 29 pull requests Successful merges: - #153749 (Account for ownership mismatch on argument that doesn't meet bound) - #159130 (a bit optimize four-digit chunks in integer formatting) - #159326 (Deny multiple EII impls on a single item) - #159535 (Optimize slice::contains for bytewise types) - #159595 (Promote loongarch32-unknown-none* to Tier 2) - #160184 (Add -Zinstrument-mcount={fentry-nop-record,fentry-record}) - #160320 (point at trait definition when it is used as a derive macro) - #160369 (When suggesting method names, prefer *exact* doc aliases over similar names) - #160406 (`DepKind` cleanups) - #160424 (Use `thread::available_parallelism` as the default limit for backend parallelism) - #160434 (Avoid Docker push when the image did not change) - #159303 (Fix ICE for direct inline const generic defaults) - #159977 (Add regression test for bool indexing codegen) - #160011 (remove InterpError::map_err_info) - #160165 (reject `...` without pattern post-expansion) - #160172 (tests: Enable `feature(stmt_expr_attributes)` in `2229_closure_analysis` tests) - #160295 (Fix rustdoc ICE when checking if a generic arg can be elided) - #160305 (Linkify C-SKY targets in `platform-support.md`) - #160314 (fix borrowck ICE for consts with fn pointer type) - #160322 (ElaborateBoxDeref: remove unnecessary projection) - #160338 (Add regression test for supertrait associated type normalization through dyn) - #160340 (Add regression test for unused_parens on contract clauses) - #160371 (Add doc aliases for transpositions `read_exact_buf` and `read_exact_buf_at`) - #160384 (Add PR body notes for Cargo lock file maintenance) - #160412 (Move duplicate-names check for #[rustc_must_implement_one_of] to attribute parser) - #160427 (Run try builds on EC2 by default) - #160435 (bump tracing-tree) - #160449 (Fix lookup of object files) - #160477 (Update the tracking issue for `borrowed_buf_init`)
This was bugging me for a long time. Could the solution be so easy this whole time? :)
CI runs:
r? @marcoieni