-
Notifications
You must be signed in to change notification settings - Fork 984
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
ci: upgrade Nix from 2.3.12 to 2.6.1 #12980
Conversation
Jenkins BuildsClick to see older builds (236)
|
Looks like this will require some changes to |
The need to reference Git tags with `refs/tags/` prefix is caused by changes in how Nix `2.4` and newer versions handle Git tags. They expect tags without full name to be branches, which fails with: ``` fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6 error: program 'git' failed with exit code 128 ``` Issue: status-im/status-mobile#12832 PR: status-im/status-mobile#12980 Signed-off-by: Jakub Sokołowski <[email protected]>
The need to reference Git tags with `refs/tags/` prefix is caused by changes in how Nix `2.4` and newer versions handle Git tags. They expect tags without full name to be branches, which fails with: ``` fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6 error: program 'git' failed with exit code 128 ``` Issue: status-im/status-mobile#12832 PR: status-im/status-mobile#12980 Signed-off-by: Jakub Sokołowski <[email protected]>
ec851fa
to
8155d6e
Compare
Extends `urlRegex` to accept tags specified with full `refs/tags/*` format. Note the use of `?:` part to make the group not present in the `matche` list. The need to reference Git tags with `refs/tags/` prefix is caused by changes in how Nix `2.4` and newer versions handle Git tags. They expect tags without full name to be branches, which fails with: ``` fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6 error: program 'git' failed with exit code 128 ``` Issue: status-im/status-mobile#12832 PR: status-im/status-mobile#12980 Signed-off-by: Jakub Sokołowski <[email protected]>
Extends `urlRegex` to accept tags specified with full `refs/tags/*` format. Note the use of `?:` part to make the group not present in the `matche` list. The need to reference Git tags with `refs/tags/` prefix is caused by changes in how Nix `2.4` and newer versions handle Git tags. They expect tags without full name to be branches, which fails with: ``` fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6 error: program 'git' failed with exit code 128 ``` Issue: status-im/status-mobile#12832 PR: status-im/status-mobile#12980 Signed-off-by: Jakub Sokołowski <[email protected]>
8155d6e
to
7e2523f
Compare
I'd appreciate a manual test, especially on a MacOS machine. Will require |
7e2523f
to
6904320
Compare
Oooh, this might be a problem:
Since the single user( |
I tried installing in a single user mode anyway by commenting out the check but it seems to fail:
|
These instructions are useful: https://gist.github.com/chriselsner/3ebe962a4c4bd1f14d39897fc5619732 |
Another thing is that the current installer appears to not be made for non-interactive installation:
|
11bd436
to
b8088e8
Compare
For some reason the installator is not creating the
|
The way Nix is sources id from modified
|
b8088e8
to
26153b7
Compare
It's worth noting that what needs to be sourced is |
b6cd3f4
to
393b6e6
Compare
I've created an issue in Nix repository outlining the sandbox problem: |
The issue with the sandbox is lack of defined |
Looks like adding
So looks like |
Interestingly enough, the file permissions are already quite broad, with read for all users:
|
I tried changing file permissions but it doesn't seem to work:
|
Ah, I see, there it is. The issue is the permissions of the folder:
|
The issue on iOS with this error:
Appears to be fixed in Nix |
For some reason setting I need to do more testing to figure out how to narrow down the permissions as much as I can. |
I did some stracing and found this in
And according to the docs for
But the folder already has execute permissions for
So there's something else missing. Maybe the group I'm assuming is necessary is wrong. |
I've managed to fix the permission issue with: https://github.com/status-im/status-jenkins-lib/commit/91a22e59 But I would really prefer if I could narrow down the permissions to just group ones instead of "other". |
This change is ready, but since a new release is brewing I'm going to wait with merging this until the release is out. |
Signed-off-by: Jakub Sokołowski <[email protected]>
11178eb
to
82c0dde
Compare
Due to changes in how Nix handles Git refs we need to specify `refs/tags/` prefix in `package.json` to avoid the following error: ``` fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6 error: program 'git' failed with exit code 128 ``` I also had to rewrite some logic in `nix/scripts/source.sh` in order to take account of single-user and multi-user installations. We default to multi-user for Darwin, but not for any other OS due to discovered issues with `nix-daemon` socket on Arch and open file limits. I also rewrote `nix/scripts/setup.sh` and `/nix/scripts/purge.sh` to support different types of installations. Both single-user and multi-user, as some operating systems have issues with multi-user installations. Resolves: #12832 Depends on: status-im/status-jenkins-lib#37 Related changes: * status-im/infra-ci@84947b9f * status-im/infra-ci@bb98f5f3 * status-im/infra-ci@f75d524d * status-im/infra-ci@d1fc92cd * status-im/infra-ci@87c4091e * status-im/infra-ci@8d6b6b3f * status-im/infra-ci@c4f13285 * status-im/infra-ci@38ac698d Signed-off-by: Jakub Sokołowski <[email protected]>
Due to changes in how Nix handles Git refs we need to specify
refs/tags/
prefix inpackage.json
to avoid the following error:I also had to rewrite some logic in
nix/scripts/source.sh
in order to take account of single-user and multi-user installations. We default to multi-user for Darwin, but not for any other OS due to discovered issues withnix-daemon
socket on Arch and open file limits.I also rewrote
nix/scripts/setup.sh
and/nix/scripts/purge.sh
to support different types of installations. Both single-user and multi-user, as some operating systems have issues with multi-user installations.Resolves: #12832
Depends on: https://github.com/status-im/status-jenkins-lib/pull/37
Issue: NixOS/nix#5291
Related changes: