Ci/crate publish test#6550
Conversation
733d551 to
49f64ad
Compare
|
|
||
| draft-release: | ||
| if: github.repository == 'anza-xyz/agave' | ||
| needs: [ trigger-buildkite-pipeline ] |
There was a problem hiding this comment.
why do we need to wait for the trigger-buildkite-pipeline step 🤔 they won't need each other's data
There was a problem hiding this comment.
This is meant to stop the draft release and version bump from running in case the crate and bin publishing fails.
There was a problem hiding this comment.
when the buildkite pipeline is triggered, the trigger-buildkite-pipeline step will show green immediately. it doesn't reflect the pipeline's result. we will need to update the flow to achieve your goal
There was a problem hiding this comment.
Updated the action code. The new version of the buildkite action adds a wait functionality, so this will wait until the pipeline is finished.
There was a problem hiding this comment.
I have, but github runners are under powered compared to our CI machines and this takes too long as it is. I'm also trying to keep the changes to the release pipeline in this PR to a minimum.
we can use more powerful GitHub-hosted machines to run it. do you have any link you can share? I’d like to know what time you got.
There was a problem hiding this comment.
It is a lot hacky, but changing the buildkite pipeline is only done manually through the UI right now, and I don't want to touch it. Not sure I understand your comment about 2 builds for the same commit though.
oh, the 2 builds means that in this PR, the building process looks like
- triggering the secondary pipeline with a special message
- triggering the secondary pipeline again without the special message
so we will get 2 different build numbers in the buildkite page, but they are the same commits.
There was a problem hiding this comment.
we can use more powerful GitHub-hosted machines to run it. do you have any link you can share? I’d like to know what time you got.
The last successful run from buildkite took 1h:
https://buildkite.com/anza/agave/builds/24657/steps/canvas?sid=019746d4-191b-45f9-ba67-f8af0a9415e3
We can use self hosted github runners I guess, but that's a big change.
There was a problem hiding this comment.
we can just use github larger runner atm I guess
There was a problem hiding this comment.
if we’re only concerned about build time, maybe we can run it only on push and place it in the same block as the coverage test 🤔
| - name: "publish dry-run" | ||
| command: "ci/publish-crate.sh --dry-run" | ||
| timeout_in_minutes: 180 | ||
| artifact_paths: "log-*.txt" | ||
| env: | ||
| CRATE_PUBLISH_TEST: "true" | ||
| agents: | ||
| queue: "release-build" |
There was a problem hiding this comment.
I think this one should happen in the main pipeline or a different pipeline instead of here. some reasons:
- I don't think we want the crates publishing issue will block our bin shipping
- PRs won't trigger this pipeline, which means we won't be able to catch this error immediately
There was a problem hiding this comment.
We want the release to stop if there's an issue with the crate publishing. That's why I moved this back here.
This test takes over an hour to run, so it's not a good choice to have it run on every PR.
I'll do some more work on making a more targeted check for each crate that we can add to regular CI later.
There was a problem hiding this comment.
okay. if we want to to do so, I will suggest that we can use queue: "solana" instead of queue: "release-build".
There was a problem hiding this comment.
What is the benefit of moving it to the other queue?
I see there's only one agent in the release-build queue. Are you concerned about the check taking up too much time in that queue?
There was a problem hiding this comment.
the only difference atm is that release-build has some secrets. if you don't need them, you can use other machines for reducing wait time.
Co-authored-by: Mykola Dzham <i@levsha.me>
Co-authored-by: Mykola Dzham <i@levsha.me>
Co-authored-by: Mykola Dzham <i@levsha.me>
|
Superseded by #9334 |
Problem
Publishing crates to
crates.iosometimes fails during releases leaving versions in an inconsistent state.Summary of Changes
Add an extra task to the
crate-checkworkflow which publishes the crates to a test repo.Closes https://github.com/anza-xyz/devops/issues/299