Conversation
| --mount=source=./scripts/install/rust.sh,target=./scripts/install/rust.sh \ | ||
| --mount=source=./rust-toolchain.toml,target=./rust-toolchain.toml \ | ||
| ./scripts/install/rust.sh | ||
| COPY scripts scripts |
There was a problem hiding this comment.
The comment above gives some reasoning to keep rust installation in a separate RUN statement. So let's either follow that comment or remove it as it became stale.
There was a problem hiding this comment.
Edited the comment
| COPY scripts scripts | ||
| COPY rust-toolchain.toml rust-toolchain.toml | ||
|
|
||
| RUN --mount=source=./scripts,target=./scripts \ |
There was a problem hiding this comment.
Not sure what the problem is with a build mount. This way scripts used only during build don't end up in the final image, which anyway uses a volume mount of the repo workspace at the same location and thus shadows these scripts
There was a problem hiding this comment.
It comes from a previous attempt to use buildx with GHA cache in which having a build-time bind mount present completely prevents caching the layer (since the inputs to the build are no longer static and can't be digested)
| - run: docker compose pull | ||
| - run: docker compose build | ||
| - run: ./scripts/philomena.sh test | ||
| - run: sudo chown -R $USER $GITHUB_WORKSPACE |
There was a problem hiding this comment.
What's the reason to do a chown at the end? This code runs on an emphemeral VM, so it seems redundant.
UPD, I guess it's for the cache action, in which case a comment about that would be nice
Primarily, makes the actions cache actually work (eliminates repeated dep compilation and PLT rebuilding on Dialyzer runs), but also various CI maintenance items.