Skip to content

Minor CI improvements#703

Merged
liamwhite merged 7 commits into
masterfrom
ci-cache2
Jun 7, 2026
Merged

Minor CI improvements#703
liamwhite merged 7 commits into
masterfrom
ci-cache2

Conversation

@liamwhite

Copy link
Copy Markdown
Contributor

Primarily, makes the actions cache actually work (eliminates repeated dep compilation and PLT rebuilding on Dialyzer runs), but also various CI maintenance items.

Comment thread docker/app/Dockerfile
--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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Edited the comment

Comment thread docker/app/Dockerfile
COPY scripts scripts
COPY rust-toolchain.toml rust-toolchain.toml

RUN --mount=source=./scripts,target=./scripts \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

@liamwhite liamwhite Jun 7, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Makes sense

Comment thread .github/workflows/ci.yml Outdated
- run: docker compose pull
- run: docker compose build
- run: ./scripts/philomena.sh test
- run: sudo chown -R $USER $GITHUB_WORKSPACE

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Comment added

@liamwhite liamwhite merged commit e26e9d2 into master Jun 7, 2026
12 checks passed
@liamwhite liamwhite deleted the ci-cache2 branch June 7, 2026 19:55
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