-
Notifications
You must be signed in to change notification settings - Fork 449
New release workflow #1367
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
New release workflow #1367
Conversation
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.
Looks very promising! shouldn't we also run tests and benchmarks if any?
I'm reviewing this now... sorry for the delay |
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.
The change looks very good. Most of the comments are related to formatting only (to keep uniform with other Makefiles we have). I haven't tested the release, just read it. I wonder how you're testing it as well.
I'm working on testing this in my fork, with a separate container registry. Also want to note, that I want to be careful that we have consensus on the container image tags. We have 3 images now:
So the images have tags like:
And then there may be a need to have |
I agree to have the default set to Also, I'd like to keep the |
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.
Not sure if it's possible now, but I think we should also have a way to just run the release target and see that it works and builds release artifacts (executable binaries and container images) locally without creating Git tag and publishing to GitHub or DockerHub. In some other build systems, e.g. GoReleaser, it's called a release snapshot. Only when we pass PUBLISH=1 or similar explicit flag it would trigger an actual release. (Ideally such release snapshot would run in the PR validation workflow before we run integration tests.)
|
As it stands now, this is working. I believe this is how you described it @danielpacak. Tested it on my personal fork: https://github.com/grantseltzer/tracee/runs/4992692333?check_suite_focus=true |
I believe you're still working on this @grantseltzer, right ? Please let me know once you're good (so I can review). Thanks! |
I could have commented in here instead of messaging you offline, but regardless yes this is ready for review. The only thing I want to point out is asking your thoughts on the convention of 'aquasec/tracee:full-v0.6.6', as in having the version number in the tag. |
- Snapshot - Builds tracee-ebpf, tracee-rules, rules - Builds an archive of build artifacts along with license - Takes checksum of archive - Builds container images - Publish - Pushes container images to dockerhub - Creates github release with the build artifact archive For both of these targets the main environment variables to set are: PUSH_DOCKER_REPO (default: aquasec/tracee) SNAPSHOT_VERSION - the tag or SHA to label the release/snapshot as (default: latest git SHA) This commit also does the following: - Updates the github action for releasing to use this new makefile - Fixes existing Makefile to cleanup intermediate images Signed-off-by: grantseltzer <grantseltzer@gmail.com>
Signed-off-by: grantseltzer <grantseltzer@gmail.com>
Signed-off-by: grantseltzer <grantseltzer@gmail.com>
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.
LGTM. I'll squash this and merge (fixing git log). Thanks a lot for this change and all the tests you've made.
mtcherni95
rafaeldtinoco
danielpacak
Successfully merging this pull request may close these issues.
Revise release script
This PR:
Makefile.release
which has two targets:For both of these targets the main environment variables to set are:
PUSH_DOCKER_REPO (default: aquasec/tracee)
SNAPSHOT_VERSION - the tag or SHA to label the release/snapshot as (default: latest git SHA)
This PR also does the following: