Skip to content

fix(release): publish plugin config image - #15

Merged
lusu007 merged 1 commit into
mainfrom
codex/publish-plugin-config-oci
Aug 21, 2026
Merged

lusu007 merged 1 commit into
mainfrom
codex/publish-plugin-config-oci

Conversation

@lusu007

@lusu007 lusu007 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • publish the existing Velocity plugin-config runtime as a data-only OCI image
  • keep Maven publication and use Release Please as the sole version/tag authority
  • verify the actual shaded JAR metadata and Docker release contract

Verification

  • ./gradlew --no-daemon --no-build-cache clean check (62 tasks)
  • release/artifact contract and strict version override covered locally

Follow-up

After CI and review, merge this PR. Release Please must create the patch release; no manual tag. The released image will then be pinned before plugin-resourcepacks in Bundle and Stage.

@lusu007
lusu007 marked this pull request as ready for review August 21, 2026 12:40
@lusu007
lusu007 merged commit 2715c31 into main Aug 21, 2026
2 checks passed
@lusu007
lusu007 deleted the codex/publish-plugin-config-oci branch August 21, 2026 12:41

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37fd6e486a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Dockerfile
test "$(find /src/velocity/build/libs -maxdepth 1 -type f -name '*.jar' | wc -l)" -eq 1 && \
cp "$(find /src/velocity/build/libs -maxdepth 1 -type f -name '*.jar' -print -quit)" /out/plugin.jar

FROM alpine:3

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove the inherited Alpine command

The final stage inherits Alpine's default CMD ["/bin/sh"]; omitting a new CMD instruction does not clear the base image configuration. Consequently, the published image does have a command despite the data-only image contract and the comment below, while the contract test only scans this Dockerfile for explicit instructions and cannot detect the inherited command. Use a commandless base such as scratch or explicitly clear the inherited command.

Useful? React with 👍 / 👎.

Comment on lines +20 to +22
val version = strictVersion(root.resolve("version.txt").readText())

assertEquals(version, System.getProperty("releaseVersion"))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make the release test honor versionOverride

When check is run with a valid -PversionOverride different from version.txt, Gradle correctly sets releaseVersion to the override, but this test always derives its expected value from the file and therefore fails. The shaded-artifact test has the same unconditional file expectation, so the override path promised by the build configuration cannot be validated and any pipeline running checks with an override will reject a valid build.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant