ci: Maven/java release-please flow + split Gradle from Docker publish#131
Merged
Conversation
docker-publish.yml is now a pure, toolchain-agnostic Docker build. Move the Gradle step that generates the Micronaut optimized context into the new reusable gradle-docker-context.yml producer, which uploads the context as an artifact for docker-publish to consume. The release flow now runs: build-context (Gradle) -> docker (docker-publish via artifact-name) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Test results 6 files 6 suites 0s ⏱️ Results for commit fa690e3. |
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.
Brings Otis in line with Vulpes-Backend's release pipeline.
1. Pure Docker build (split Gradle from docker-publish)
docker-publish.ymlbecomes toolchain-agnostic (OneLiteFeatherNET/workflows#15). The Gradle step that generates the Micronaut optimized context moves into the new reusablegradle-docker-context.ymlproducer, which uploads the context as an artifact fordocker-publishto consume.publishand Docker jobs bump to@v2.3.0.build-contextjob runs./gradlew jar optimizedBuildLayers optimizedDockerfileand uploadsbackend/build/docker/optimizedas an artifact.dockerdropssetup-java/build-command; consumes the artifact viaartifact-name.2. Maven (java) release-please flow + snapshots
Switch the package to
release-type: javaso release-please manages the Maven SNAPSHOT lifecycle (release → bump to next-SNAPSHOT), withgradle.propertiesupdated via the generic updater — exactly like Vulpes-Backend.Add the snapshot CI that flow implies:
versionjob readsgradle.propertieson non-release pushes.publish-snapshotpublishes to the snapshot Maven repo (java-client/velocity-pluginalready route SNAPSHOT/BETA/ALPHA there).build-context-snapshot+docker-snapshotbuild & push a snapshot image on every non-release push.After merge, expect release-please to open a
…-SNAPSHOTbump PR (same dance Vulpes went through).gradle.propertiesis intentionally left at1.14.0— release-please drives it from here.Depends on OneLiteFeatherNET/workflows#15 merged + released as
v2.3.0first (the@v2.3.0refs won't resolve until then).🤖 Generated with Claude Code