-
Notifications
You must be signed in to change notification settings - Fork 716
Update release workflow #6697
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
base: develop
Are you sure you want to change the base?
Update release workflow #6697
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #6697 +/- ##
============================================
+ Coverage 44.77% 79.78% +35.01%
============================================
Files 577 577
Lines 357352 357795 +443
============================================
+ Hits 159992 285475 +125483
+ Misses 197360 72320 -125040 see 494 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
|
moving to ghcr - one thing i don't like is how all the layers (tagged or not) are visible on the packages page (see link above). a few things to follow up on:
|
|
there is also a question of if we should be re-running all the same tests (which should have been passing prior to release in order for the changes to merge), i.e. bitcoin tests. |
|
update - one thing i notice that i'm not sure about (but shoudln't be a blocker to merge) is that the artifacts are being attested 2x for the same archive. this may be a result of the the archive name being identical for stacks-core and the stacks-signer release. Edit: it is indeed because of the archive file naming being a duplicate for the release. so stacks-core & stacks-signer both having the same archive name like |
if you have a look to the sbtc repo I solved this problem! |
just to clear my understanding: does it means we don't run the "ci" tests for the hotfix release? |
no - just a note that we currently re-run all tests that are run as part of the PR process when doing a release, and perhaps there's an option to not do that in the future (with the expectation that tests would have already run. there are some caveats today, but i think it's possible). for a hotfix release, we'd still need to run all the normal required steps. but, i think there may be a case to be made where we can ensure all tests are passing before a release workflow is triggered - not addressed in this PR, but something to think about for a future change. |
…-test workflow - update ci.yml to no longer call atlas, slow workflows on release - remove test from sbtc and epoch workflows that no longer exist - moved last remaining test from slow_test to bitcoin_test workflow
Note: relies on composite PR stacks-network/actions#91 due to the changes in registry.
This change refactors the release workflow as follows:
release-*.ymletc.Overall, the performance is much better than using docker - what was taking ~30 minutes (discounting timeouts and failures) is now reliably down to ~12 minutes per build (macos being the outlier, since it was tested on a 7GB machine with the release-lite profile).
a full test release workflow: https://github.com/wileyj/stacks-core/actions/runs/19481419227
and a specific run of just the release workflow to show the expected timing of the changes proposed here: https://github.com/wileyj/stacks-core/actions/runs/19475022815
and the ghcr images produced-
signer: https://github.com/wileyj/stacks-core/pkgs/container/stacks-signer/versions?filters%5Bversion_type%5D=tagged
stacks-core: https://github.com/wileyj/stacks-core/pkgs/container/stacks-core/versions?filters%5Bversion_type%5D=tagged
published test release: https://github.com/wileyj/stacks-core/releases/tag/4.0.0.0.6
published singer test release: https://github.com/wileyj/stacks-core/releases/tag/signer-4.0.0.0.6.0
finally - the builds are set to use the
releaseprofile, which willl require at least the macos-latest-large runner, with the linux runners currently set to use the default ubuntu-latest (this may be changed, but the timing on default runners was acceptable).the binaries/images need more verification, but initial testing of produced artifacts looks good.