-
Notifications
You must be signed in to change notification settings - Fork 20
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
Preempt Swift slots to enforce mutual exclusion updating Swift container #201
Conversation
* Constraint the usage of secrest into its minimal capacity * Move sanitisation to prepare-upload to leave the prepare-release job untouched
d0abdd9
to
3f3cf06
Compare
3f3cf06
to
ed6d2e6
Compare
855c6af
to
3bd79cb
Compare
3bd79cb
to
8ce4c0d
Compare
ef55c3c
to
5b4db04
Compare
da4320b
to
291e92e
Compare
7185c1f
to
b2c8e7b
Compare
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.
ty for the changes, can we merge?
Yes, I reverted the changes disabling ppc64el for mock-rock. We can merge now (even if the lpci build in the workflow can fail). |
there's a conflict that needs resolution |
Done. |
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 is the prometheus rock being built in the CI?
Because of the merge commit 2acd80e. |
Ping the @canonical/rocks team.
Description
This PR adds a
Prepare upload
job to theImage.yaml
workflow, which preempts the Swift slot right after retrieving the revision number from the Swift container to prevent a race condition. For the workflow before this PR, such race conditions can happen when a workflow is triggered, while another workflow with the same image name runs for a job betweenBuild
andUpload
(both included). Since the jobBuild
can take up 20 minutes, it's easy to trigger such a workflow that races with other workflows. The eventual consequence of such a race condition can result in duplicated revisions of images of different tracks, thus letting the workflow release wrong artefacts to some tracks (tags).Changelog
{name}_{commit}_{directory}
as identifiers for OCI image artefacts;Prepare upload
that makes a write-after-read operation to the Swift container;Upload
;Prepare upload
jobs for the same image to finish)Prepare upload
jobs that can give different revision numbers.Related issues
Before merge: