Local stack shares coursier/ivy cache with devcontainers - #617
Open
waisingyiu wants to merge 3 commits into
Open
waisingyiu wants to merge 3 commits into
waisingyiu wants to merge 3 commits into
Conversation
| # Install JVM tooling (java, sbt) via mise using the e2e environment. This is the | ||
| # only thing baked into the image; all backend sources are bind-mounted at runtime. | ||
| COPY .tool-versions ./ | ||
| RUN mise trust -a && mise install java sbt |
Contributor
There was a problem hiding this comment.
Can we add a quick comment saying that we are using the mise cache here
Contributor
Author
There was a problem hiding this comment.
A great idea, added in a new commit.
dominickendrick
previously approved these changes
Sep 15, 2026
dominickendrick
left a comment
Contributor
There was a problem hiding this comment.
Great improvement!
dominickendrick
approved these changes
Sep 15, 2026
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.
I used AI to make most of the changes, but this PR description was written by me.
What does this change?
Currently a dev container (with Scala module] mounts persistent
devenv-coursier-cCache-volumeanddevenv-ivy-cache-volumevolumes to store a cache of downloaded bundles from Maven and other repositories.This pull request changes the Datastore and Workflow-frontend container in the end-to-end testing stack to share this persistent coursier / ivy cache with devcontainers so that we don't download artefacts from Maven repository every time we spin up the stack.
In addition, it makes the mise cache persistent across container build.
It should be particularly useful when working with AI agents, which often runs tests frequently to verify changes it is making.
How has this change been tested?
The e2e test can pass locally and in CI.
Without the shared cache, you may see the following log every time you start the Datastore or Workflow-frontend containers:
You will not see those messages with the shared ivy cache.
How can we measure success?
It speeds up running end-to-end tests during development and avoids hitting too many requests error from Maven repository.
Have we considered potential risks?
It affects the way we run the Datastore and Workflow-frontend containers in end-to-end test. No impact on the actual service.