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

Old PRs can add a new "latest" cached state w/ the old state version #3881

Closed
dconnolly opened this issue Mar 15, 2022 · 0 comments · Fixed by #4271
Closed

Old PRs can add a new "latest" cached state w/ the old state version #3881

dconnolly opened this issue Mar 15, 2022 · 0 comments · Fixed by #4271
Assignees
Labels
A-devops Area: Pipelines, CI/CD and Dockerfiles A-infrastructure Area: Infrastructure changes C-enhancement Category: This is an improvement S-needs-investigation Status: Needs further investigation

Comments

@dconnolly
Copy link
Contributor

Motivation

We don't check the state version when updating the cached state, so old PRs can add a new "latest" cached state with the old state version. This won't break CI, but it adds 2.5 hours to the mergify queue.

We can check cached state version vs the version in the current branch being tested. Doing this requires making the cached state version easier to find in CI. One idea is adding the state version as disk image metadata or in the name of the disk, and then doing some Rust test / grep check to compare the latest cached state disk version with the in-branch version, and only using the cached state if they are the same version.

If the cached state version is higher than the branch version, we can not run the test, failing the test until the branch is rebased onto #main.

If the cached state version is lower than the branch version, we can run the test from an empty disk? Requires a full sync to the stop point.

Either way, the goal is that 'old' state versions (older than the version of state on #main) should not be created and pushed to gcloud, where they can be used by other tests.

@dconnolly dconnolly added A-infrastructure Area: Infrastructure changes A-devops Area: Pipelines, CI/CD and Dockerfiles C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage S-needs-investigation Status: Needs further investigation P-Medium ⚡ labels Mar 15, 2022
@gustavovalverde gustavovalverde self-assigned this Mar 16, 2022
@ftm1000 ftm1000 removed the S-needs-triage Status: A bug report needs triage label Apr 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-devops Area: Pipelines, CI/CD and Dockerfiles A-infrastructure Area: Infrastructure changes C-enhancement Category: This is an improvement S-needs-investigation Status: Needs further investigation
Projects
None yet
4 participants