Skip to content

Conversation

@clintval
Copy link

@clintval clintval commented May 5, 2025

Description:

Similar to Gradle, Maven, and sbt, I am hoping to see Mill cache support.

Mill is becoming a popular JVM build tool so I hope this is a welcome addition.

I have not contributed to this project before so please let me know if I missed anything!

Speaking of, how do I run automated tests on this branch?

Check list:

  • Mark if documentation changes are required.
  • Mark if tests were added or updated to cover the changes.

Copilot AI review requested due to automatic review settings May 5, 2025 22:38
@clintval clintval requested a review from a team as a code owner May 5, 2025 22:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds caching support for the Mill build tool, expanding the action’s compatibility with popular JVM build tools.

  • Adds Mill as a supported package manager with appropriate cache paths and file patterns in the source code.
  • Introduces tests for Mill caching behaviors (error throwing, cache restoration consistency, etc.).
  • Updates the documentation and end-to-end workflow to include examples and tests for Mill caching.

Reviewed Changes

Copilot reviewed 5 out of 9 changed files in this pull request and generated 1 comment.

File Description
src/cache.ts Adds Mill caching support to the PackageManager interface and supported array.
tests/cache.test.ts Implements unit tests to verify Mill caching behavior.
README.md Updates docs to include Mill as a supported package manager and usage examples.
.github/workflows/e2e-cache.yml Adds e2e test workflow steps for saving/restoring Mill cache across OSes.
Files not reviewed (4)
  • tests/cache/mill/.gitignore: Language not supported
  • tests/cache/mill/.mill-version: Language not supported
  • tests/cache/mill/build.sc: Language not supported
  • tests/cache/mill/mill: Language not supported

exit 1
fi
- name: Check files to cache on ubuntu-latest
if: matrix.os == 'ubuntu-latest'
Copy link
Author

Choose a reason for hiding this comment

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

I copied these patterns from above and notice a potential bug.

The matrix defines ubuntu-22.04 but the conditional here is still set to ubuntu-latest. I imagine this was not intentional. Is there a reason to pin to 22.04? If not, I'd vote reverting back to ubuntu-latest all over.

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.

2 participants