-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
move /nix to /mnt/nix on Linux workflow #5264
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems very helpful. I made a few non-blocking suggestions.
@@ -38,3 +43,5 @@ jobs: | |||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | |||
- name: build all packages and development shells | |||
run: nix -L build --accept-flake-config --no-link --keep-going '.#all' | |||
- name: print disk free status | |||
run: df -h |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m guessing this is intentional and not just leftover debugging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I added this intentionally for future debugging
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems super weird to me. /mnt is only supposed to be used transiently by a system administrator, not something that should be scripted against. There is no reason (if you care about the FHS) that there should be anything mounted to /mnt to make it a separate filesystem than /. Is /mnt just some other big disk on GHA?
If this works, that's great, I'm just curious, as this seems kinda wrong to me...
Co-authored-by: Greg Pfeil <[email protected]>
.github/workflows/nix-dev-cache.yaml
Outdated
@@ -24,6 +24,11 @@ jobs: | |||
- macOS-14 | |||
steps: | |||
- uses: actions/checkout@v4 | |||
- name: set up nix mount points on Linux |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- name: set up nix mount points on Linux | |
- name: switch nix mount point on Linux | |
# On the Linux runner `/` doesn't have enough space, but `/mnt` does. |
Co-authored-by: Greg Pfeil <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for handling the annoying CI stuff!
Overview
nix is installed in /nix, which on the ubuntu-20.04 runner doesn't have enough space to build everything from scratch, resulting in CI failures on trunk and some PRs, eg #5265
This PR causes the linux runner install nix onto a disk that's bigger than
/
fixes #5266
Implementation notes
adds a step to
mount -o bind /mnt/nix /nix
before installing nix, and this seems to work.Interesting/controversial decisions
Test coverage
the nix steps still pass
Loose ends