Open ibizaman opened 7 months ago
Possible duplicate of #807? (my PR is older and doesn't have tests though, so maybe this should be preferred)
Sorry @willemml I missed your PR. I didn’t intend to duplicate work.
This PR seems fine but is blocked as a review is required. How can we help to get it merged?
Oh this would be awesome :)
@Enzime rebasing is done. I tried to do the hash thing but I think I got it wrong.
I did cp /etc/hosts hosts
, edited the file to remove the modifications I made, then sha256sum hosts
and that's the hash I used. I suppose the hash is wrong though? Could someone provide me with the hash of a stock /etc/hosts
file?
It looks right to me:
emily@yuyuko ~> cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
emily@yuyuko ~> shasum -a 256 /etc/hosts
c7dd0e2ed261ce76d76f852596c5b54026b9a894fa481381ffd399b556c0e2da /etc/hosts
However the file in doc/
seems to be missing the trailing newline.
@emilazy good catch! Indeed:
Without the newline:
$ sha256sum doc/known-files/c7dd0e2ed261ce76d76f852596c5b54026b9a894fa481381ffd399b556c0e2da
1b6fb3e08d41ae31b6bfe1f66fecf3ef53e302047993f6235570bc9391f291bb doc/known-files/c7dd0e2ed261ce76d76f852596c5b54026b9a894fa481381ffd399b556c0e2da
With:
$ sha256sum doc/known-files/c7dd0e2ed261ce76d76f852596c5b54026b9a894fa481381ffd399b556c0e2da
c7dd0e2ed261ce76d76f852596c5b54026b9a894fa481381ffd399b556c0e2da doc/known-files/c7dd0e2ed261ce76d76f852596c5b54026b9a894fa481381ffd399b556c0e2da
Looks like the tests are broken now
@Enzime indeed 😞 I have two questions related to the two failures I see.
How can I fix the /etc/hosts
file exists issue? Does the error now come from me including a wrong /etc/hosts
file? How can I print the /etc/hosts
file from CI?
I looked and looked at the test output and can’t see the error printed out. How can I run the tests locally if I use flakes? I tried a few command line incantations but I can’t seem to make it right.
The ability to run the tests through a flake interface will be added in #1140, until that's merged you can run your test locally with nix-build release.nix -A tests.networking-hosts
I've accessed the GitHub runner through tmate (I suspect only maintainers have access but I'm not sure, it's the last step in the install-against-stable
and install-against-unstable
jobs that runs if the job failed) and extracted the /etc/hosts
file:
$ cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
192.168.64.25 Mac-1730942908330.local Mac-1730942908330
192.168.64.25 Mac-1730942908330.local Mac-1730942908330
$ shasum -a 256 /etc/hosts
31ce667128143b67ac1e7c3b64fda0891d4ff011259c48e6c9bdbd704bc29118 /etc/hosts
I suspect that every GitHub Mac will have a different /etc/hosts
so you'll most likely need to update these lines to generate a hash of /etc/hosts
and set environment.etc.hosts.knownSha256Sums = [ ... ]
like is already done with nix.conf
: https://github.com/LnL7/nix-darwin/blob/98e7dba87238e4fa4eac609dc44f07dab40661c4/.github/workflows/test.yml#L143-L146
Also if you could rebase this PR that would be great, let us know if you're still interested in working on this PR
Probably simplest to just move the config files out of the way rather than hashing them.
In the case of nix.conf
I chose to hash it because of access-tokens
and the changes get reflected immediately when I last tested but that should be fine for /etc/hosts
This code was taken nearly verbatim from https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/config/networking.nix
The few changes were related to making the default
/etc/hosts
match the Apple's stock one. This implied no127.0.0.2
and forcing the IPV6::1
entry.