Skip to content

Conversation

@lostiniceland
Copy link
Contributor

@lostiniceland lostiniceland commented Jan 15, 2026

enhances #22652

As requested in the first Mill-PR which is already merged, this PR enhances the CI and fixes the Snapshot-Version updates on release.

The example project uses Mills meta-build to resolve the snapshot version from a properties file. The properties-file is now integrated into release_version_update.sh.


Summary by cubic

Adds CI checks for the Mill plugin using the example project and fixes SNAPSHOT version updates during releases. The example now reads the plugin version from version.properties via Mill’s meta-build, which the release script updates.

  • New Features

    • GitHub Actions workflow builds the project and runs the example’s compile, validate task, and validateOpenapiSpec command.
    • Caches Maven, Gradle, and Coursier artifacts to speed up CI runs.
  • Bug Fixes

    • release_version_update.sh now bumps modules/openapi-generator-mill-plugin/example/mill-build/version.properties so the meta-build resolves the correct SNAPSHOT version.

Written for commit 041488b. Summary will update on new commits.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

2 issues found across 12 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name=".github/workflows/mill-plugin-tests.yaml">

<violation number="1" location=".github/workflows/mill-plugin-tests.yaml:34">
P2: Cache restore-keys prefix does not match the cache key, so saved caches will never restore and builds rerun dependency downloads.</violation>
</file>

<file name="modules/openapi-generator-mill-plugin/example/mill-build/build.mill">

<violation number="1" location="modules/openapi-generator-mill-plugin/example/mill-build/build.mill:26">
P2: FileInputStream opened for properties load is never closed, leaking file descriptors.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

The example project uses Mills meta-build to resolve the snapshot version from a properties file.
The properties-file is now integrated into `release_version_update.sh`.
@lostiniceland
Copy link
Contributor Author

lostiniceland commented Jan 15, 2026

There is something weird going on when running this on Github actions. I am not able to reproduce the issue locally (for instance by deleting dependencies from either Maven or Coursier cache).

The issue was caused by different behavior in how Maven and Coursier download Artifacts. Thats why the m2-Cache is considered "dangerous" by Coursier. But we need the local m2 cache for the Snapshot build, so the solution is to clear the m2 cache except org/openapitools and then start the mill build which will cause Coursier to download all artifacts to its own cache.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 1 file (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name=".github/workflows/mill-plugin-tests.yaml">

<violation number="1" location=".github/workflows/mill-plugin-tests.yaml:24">
P2: Cache key uses undefined env `cache-name`, so restore-only cache will always miss</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

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