-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Cirrus: Automate releasing of tested binaries #3106
Cirrus: Automate releasing of tested binaries #3106
Conversation
Note: I have no idea if this will actually work, but I need a PR to see if it does. This is that. |
b0a8796
to
81cb012
Compare
design note: I'm generating the canonical name in the Makefile to enable developers to retain local tarball and not have them clash with each-other as content changes. However, that requires renaming of the tarball when running under CI, and this may be an unnecessary complication. Unf. there are some env. vars. only available under CI, and I'm a bit loathe for the Makefile to depend upon them. |
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.
This can't possibly work; I'll take a fresh look once these issues are taken care of
427bdeb
to
1e617e0
Compare
☔ The latest upstream changes (presumably #3127) made this pull request unmergeable. Please resolve the merge conflicts. |
3d0533b
to
96787f9
Compare
38e2352
to
51c24ae
Compare
@edsantiago mind taking a peek at this now that it's working? Also @baude or @jwhonce PTAL since y'all are most heavily involved in the remote-client efforts. |
☔ The latest upstream changes (presumably #3308) made this pull request unmergeable. Please resolve the merge conflicts. |
a8e0c42
to
28fc023
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.
I've tried very hard to understand all this; I can't. I have, as best I can, confirmed that you've addressed my earlier review comments. I've skimmed the rest of the code, mostly feeling lost. My two comments below may therefore be nonsensical. I'll just approve and hope for the best.
It's desirable to make archives available of builds containing actual tested content. While not official distro-releases, these will enable third-party testing, experimentation, and development for both branches (e.g. "master") and pull requests (e.g. "pr3106"). * Add a Makefile targets for archiving both regular podman binaries and the remote-client. Encode release metadata within these archives so that their exact source can be identified. * Fix bug with cross-compiling remote clients for the Windows and Darwin platforms. * Add unit-testing of cross-compiles for Windows and Darwin platforms. * A few small CI-script typo-fixes * Add a script which operates in two modes: 1. Call Makefile targets which produce release archives. Upload the archive to Cirrus-CI's built-in caching system using reproducible cache keys. 2. Utilize reproduced cache keys to attempt download of cache from each tasks. When successful, parse the file's release metadata, using it to name the archive file. Upload all recovered archives to a publicly accessible storage bucket for future reference. * Update the main testing task to call the script in mode #1 for all primary platforms. * Add a new `$SPECIALMODE` task to call the script in mode #1 for Windows and Darwin targets. * Add a new 'release' task to the CI system, dependent upon all other tasks. This new tasks executes the script in mode #2. * Update CI documentation Signed-off-by: Chris Evich <cevich@redhat.com>
aww, sorry 😢 Probably a sign that better (any) documentation is needed. Hmmm, or maybe a blog post (advertising availability of automatic binary-builds for testing). I've added both to my TODO list. Thanks for reviewing what you were able, it's still helpful 👍 |
/test images |
2 similar comments
/test images |
/test images |
@baude this is good-to-go, PTAL (you originally requested it) |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cevich, edsantiago, rhatdan The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
It's desirable to make archives available of builds containing actual
tested content. While not official distro-releases, these will enable
third-party testing, experimentation, and development for both branches
(e.g. "master") and pull requests (e.g. "pr3106").
Add a Makefile targets for archiving both regular podman binaries
and the remote-client. Encode release metadata within these
archives so that their exact source can be identified.
Fix bug with cross-compiling remote clients for the Windows and Darwin
platforms.
Add unit-testing of cross-compiles for Windows and Darwin platforms.
A few small CI-script typo-fixes
Add a script which operates in two modes:
Call Makefile targets which produce release archives.
Upload the archive to Cirrus-CI's built-in caching system
using reproducible cache keys.
Utilize reproduced cache keys to attempt download of cache
from each tasks. When successful, parse the file's
release metadata, using it to name the archive file. Upload
all recovered archives to a publicly accessible storage bucket
for future reference.
Update the main testing task to call the script in mode Initial checkin #1 for
all primary platforms.
Add a new
$SPECIALMODE
task to call the script in mode Initial checkin #1 forWindows and Darwin targets.
Add a new 'release' task to the CI system, dependent upon all other
tasks. This new tasks executes the script in mode libpod create and run #2.
Update CI docuemntation