You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Publish the projectdiscovery/proxify Docker image from the release workflow with GoReleaser, as nuclei already does, instead of rebuilding it in a separate workflow.
Build and push the image with GoReleaser's dockers_v2, from the binaries GoReleaser compiles for the release.
Keep one Dockerfile, which copies the GoReleaser binary instead of compiling proxify.
Remove .github/workflows/dockerhub-push.yml, and rename release-binary.yml to release.yml (🎉 Release), since it will publish images too.
Tag images with the release tag, vX.Y, vX and latest. Today only the release tag and latest are pushed.
This supersedes #760, which moves the same workflow to projectdiscovery/actions/goreleaser but leaves image publishing in dockerhub-push.yml. This proposal does not include #760's release-tag.yml or the workflow_dispatch inputs that #760 adds to the release workflow.
Describe the use case of this feature:
Today the image and the release binaries come from separate builds. dockerhub-push.yml runs after the 🎉 Release Binary workflow finishes and compiles proxify again in the golang build stage of the Dockerfile. That stage sets its own Go version, apart from go.mod, so the Docker build can fail while the release succeeds, and Docker Hub then keeps serving an older image.
Building the image from the release binaries keeps each image in step with its release: the same commit and Go toolchain. It also leaves one release workflow and one Dockerfile to maintain.
Activity
build: publish Docker images with GoReleaser (#768)