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.
hello 🤠 I have been investigating an issue in our pipeline that happens between our
build
stage where we generate sources and compile, and thetest
stage where we run tests. We are getting IO errors during thetest
stage that look like this:I noticed the paths listed in the errors were the absolute paths of the sources generated during the
compile
stage. Of course they don't exist anymore since thebuild
stage runs in a separate runner with a different base directory. The only place I could think of where absolute paths would be persisted on disk was in the SBT caching (thestreams
task). It seems that something shady is happening withTracked.inputChanged
, as after replacing withFileFunction.cached
I'm unable to reproduce the issue. To reproduce here is what I did:hello1
, with an openapi spec, and a test using the generated codehello1
tohello2
That would fail consistently, but not anymore.
I also took the liberty of wrapping the task with a
try/finally
to make sure the classloader is restored in case an exception is thrown.