Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable reusing CI Docker cache when running CI images locally #124663

Merged
merged 3 commits into from
May 4, 2024

Conversation

Kobzol
Copy link
Contributor

@Kobzol Kobzol commented May 3, 2024

When running a CI image locally, e.g. using DEPLOY=1 src/ci/docker/run.sh dist-x86_64-linux, it can take a long time until the Docker image is built, which is annoying.

Since we now use proper Docker caching on CI, it should be possible to just docker pull the prebuilt image to reuse the cache. We didn't want to do this on CI, since our caching key isn't perfect and it's possible that we can miss some changes, but I think that for local usage it is fine (we could introduce some env. var. to force disable the image download, if needed).

r? @Mark-Simulacrum

Kobzol added 3 commits May 3, 2024 15:49
We are now using Docker caching directly rather than downloading archives from S3, so it should not be needed.

This should unblock reusing the cache locally.
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels May 3, 2024
@Mark-Simulacrum
Copy link
Member

@bors r+ rollup

This is great!

@bors
Copy link
Contributor

bors commented May 4, 2024

📌 Commit 02f4ef7 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 4, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request May 4, 2024
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#124501 (add support to override lldb binary path for ./x test)
 - rust-lang#124573 (add a reference link to the comment of the "cc" and "cmake".)
 - rust-lang#124663 (Enable reusing CI Docker cache when running CI images locally)
 - rust-lang#124690 (Only consider ambiguous goals when finding best obligation for ambiguities)
 - rust-lang#124713 (Update Cargo specific diagnostics in check-cfg)
 - rust-lang#124717 (Implement `do_not_recommend` in the new solver)
 - rust-lang#124718 (Record impl args in the proof tree)
 - rust-lang#124720 (interpret: Drop: always evaluate place)
 - rust-lang#124721 (library/std: Fix build for NetBSD targets with 32-bit `c_long`)
 - rust-lang#124723 (Use correct Hermit links in The `rustc` Book)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit f4d0776 into rust-lang:master May 4, 2024
6 checks passed
@rustbot rustbot added this to the 1.80.0 milestone May 4, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request May 4, 2024
Rollup merge of rust-lang#124663 - Kobzol:docker-local-download, r=Mark-Simulacrum

Enable reusing CI Docker cache when running CI images locally

When running a CI image locally, e.g. using `DEPLOY=1 src/ci/docker/run.sh dist-x86_64-linux`, it can take a long time until the Docker image is built, which is annoying.

Since we now use proper Docker caching on CI, it should be possible to just `docker pull` the prebuilt image to reuse the cache. We didn't want to do this on CI, since our caching key isn't perfect and it's possible that we can miss some changes, but I think that for local usage it is fine (we could introduce some env. var. to force disable the image download, if needed).

r? `@Mark-Simulacrum`
@Kobzol Kobzol deleted the docker-local-download branch May 5, 2024 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants