feat(docker-publish): pure Docker build + gradle-docker-context producer#15
Merged
Merged
Conversation
c1498ce to
e4f8bb6
Compare
…xt producer Separate the Gradle toolchain from the Docker build so docker-publish.yml can build any project (Flutter, Node, Go, plain multi-stage Dockerfiles), not just Gradle-produced contexts. - docker-publish.yml: drop all JDK/Gradle steps and the build-command / build-env / setup-java inputs. The context now comes either from the checked-out repo or from a pre-built artifact via the new `artifact-name` input (downloaded into `context` before the build). No language/build step remains here. - Add gradle-docker-context.yml: a reusable producer that sets up JDK + Gradle (with the private OneLiteFeather Maven credentials, like gradle-publish.yml), runs a Gradle command to generate the Docker context (e.g. Micronaut optimizedDockerfile), and uploads it as an artifact for docker-publish to consume in the same run. Callers (Otis, Vulpes-Backend) chain the producer into docker-publish. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e4f8bb6 to
bf1636f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Separate the Gradle toolchain from the Docker build so
docker-publish.ymlis a pure, generic Docker build usable by any project (Flutter, Node, Go, plain multi-stage Dockerfiles) — not just Gradle-produced contexts.Changes
docker-publish.yml— now purebuild-command/build-env/setup-java/java-version/java-distributioninputs.artifact-name: optionally download a pre-built context (uploaded by an upstream job in the same run) intocontextbefore building.gradle-docker-context.yml— new reusable producergradle-publish.yml).gradle-command(e.g../gradlew jar optimizedBuildLayers optimizedDockerfile -Pversion=$VERSION) to generate the Docker context.context-pathas an artifact fordocker-publishto consume.Caller pattern
Non-Gradle (e.g. Flutter, multi-stage Dockerfile) skips the producer entirely:
docker-publish.ymldropssetup-java/build-command/build-env. Callers using those (Otis, Vulpes-Backend) are migrated to the producer pattern in their own PRs and must move together with thev2.3.0bump.🤖 Generated with Claude Code