-
Notifications
You must be signed in to change notification settings - Fork 466
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
ci: Trim unnecessary builds #24069
ci: Trim unnecessary builds #24069
Conversation
58e6d28
to
8f0a66b
Compare
This should be much cheaper than waiting for a builder agent to spin up just to check that all docker images already exist and it has to do nothing
8f0a66b
to
7a2cc2c
Compare
Example run for nightly showing that trimming builds works: https://buildkite.com/materialize/nightlies/builds/5687#018c8c66-eee5-40c9-8169-07cdac625baa |
step["skip"] = True | ||
if step.get("id") == "build-aarch64": | ||
branch = os.environ["BUILDKITE_BRANCH"] | ||
if ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are the checks for the two architectures asymmetrical?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already don't run build-aarch64 for PRs, only on main and v*.* branches.
if step.get("id") == "build-x86_64": | ||
if builds_published(Arch.X86_64): | ||
step["skip"] = True | ||
if step.get("id") == "build-aarch64": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not necessary here to include the command as done in other places (ident = step.get("id") or step.get("command")
)? If so, when is that necessary? @def-
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because the id is build-* in our actual pipelines, we don't have any commands with that name, the command would be something like bin/ci-builder run stable bin/pyactivate -m ci.test.build
This should be much cheaper than waiting for a builder agent to spin up just to check that all docker images already exist and it has to do nothing
Checklist
$T ⇔ Proto$T
mapping (possibly in a backwards-incompatible way), then it is tagged with aT-proto
label.