| 2 Aug 2025 |
emily | was it that easy to move? I sorta figured it's printed as a separate note because the code paths are disconnected | 16:27:46 |
emily | (because that's the only way I could understand why it'd be like this) | 16:27:54 |
raitobezarius | i decided to make a buildErrorContents() virtual method | 16:27:56 |
raitobezarius | derivation goal calls it | 16:28:01 |
raitobezarius | default impl is the one of where it was | 16:28:06 |
raitobezarius | local derivation goal overrides and tacks more notes | 16:28:11 |
raitobezarius | the code paths are still slightly disconnected, so I add a boolean "tmpDirKept" to decide whether I should print or not | 16:28:32 |
raitobezarius | if I have settings.keepFailed && !tmpDirKept, I can even print info about why i did not keep the tmp dir | 16:28:45 |
emily | a weird thing is that when you use a remote builder it prints nix-store for the logs | 16:28:49 |
emily | even when using nix(1) | 16:28:55 |
emily | because I guess that message is from the remote | 16:28:59 |
raitobezarius | yeah because the error comes from derivation goal | 16:29:02 |
raitobezarius | yeah, the whole thing is a bit messy in that circumstance | 16:29:17 |
emily | seems like the remote builder should not be handling that kind of thing. but well, layering | 16:29:24 |
raitobezarius | <insert meme with the comedian with jokes on a card and all cards he have 'RPC fixes this'> | 16:29:52 |
raitobezarius | https://gerrit.lix.systems/c/lix/+/3861/1 | 16:35:47 |
raitobezarius | something like that | 16:35:48 |
raitobezarius | hm i changed the message too | 16:36:11 |
raitobezarius | i should have split the commit | 16:36:14 |
emily | all my cards are Jujutsu fixes this | 16:41:10 |
raitobezarius | https://www.gerritcodereview.com/2025-05-07-esc-minutes.html so we see you in Paris regarding jujutsu × gerrit ? :> | 16:42:20 |
raitobezarius | fwiw this is the code that propagates the remote error
std::shared_ptr<Error> remoteError;
if (result.getResult().isBad()) {
remoteError = std::make_shared<Error>(from(result.getResult().getBad()));
logger->logEI(remoteError->info());
}
co_return HookResult::Accept{TRY_AWAIT(buildDone(remoteError))};
| 16:45:57 |
raitobezarius | across the RPC boundary | 16:46:02 |
raitobezarius | i think i can easily pass remoteError the buildErrorContents | 16:46:47 |
raitobezarius | and we can even know if we were remote building or not | 16:46:52 |
Charles | yes:
[root@blue:~]# docker run -it lix:2.94.0-devpre20250801_4efc888 nix --extra-experimental-features 'nix-command flakes' run nixpkgs#hello
warning: error: unable to download 'https://api.github.com/repos/NixOS/nixpkgs/commits/nixpkgs-unstable': Resolving timed out after 5000 milliseconds (curl error code=28); retrying in 302 ms (attempt 1/5)
warning: error: unable to download 'https://github.com/NixOS/nixpkgs/archive/c02d05bcf73fb496c604798c2268ed424a09e73e.tar.gz': Resolving timed out after 5001 milliseconds (curl error code=28); retrying in 250 ms (attempt 1/5)
warning: error: unable to download 'https://github.com/NixOS/nixpkgs/archive/c02d05bcf73fb496c604798c2268ed424a09e73e.tar.gz': Resolving timed out after 5001 milliseconds (curl error code=28); retrying in 646 ms (attempt 2/5)
error:
… while fetching the input 'github:NixOS/nixpkgs/nixpkgs-unstable'
error: uri https://github.com/NixOS/nixpkgs/archive/c02d05bcf73fb496c604798c2268ed424a09e73e.tar.gz changed final destination from https://github.com/NixOS/nixpkgs/archive/c02d05bcf73fb496c604798c2268ed424a09e73e.tar.gz to https://codeload.github.com/NixOS/nixpkgs/tar.gz/c02d05bcf73fb496c604798c2268ed424a09e73e during transfer
[root@blue:~]# docker run -it lix:2.94.0-devpre20250801_4efc888 nix --extra-experimental-features 'nix-command flakes' run nixpkgs#hello
warning: error: unable to download 'https://api.github.com/repos/NixOS/nixpkgs/commits/nixpkgs-unstable': Resolving timed out after 5002 milliseconds (curl error code=28); retrying in 322 ms (attempt 1/5)
warning: error: unable to download 'https://api.github.com/repos/NixOS/nixpkgs/commits/nixpkgs-unstable': Resolving timed out after 5000 milliseconds (curl error code=28); retrying in 572 ms (attempt 2/5)
warning: error: unable to download 'https://github.com/NixOS/nixpkgs/archive/c02d05bcf73fb496c604798c2268ed424a09e73e.tar.gz': Resolving timed out after 5003 milliseconds (curl error code=28); retrying in 272 ms (attempt 1/5)
error:
… while fetching the input 'github:NixOS/nixpkgs/nixpkgs-unstable'
error: uri https://github.com/NixOS/nixpkgs/archive/c02d05bcf73fb496c604798c2268ed424a09e73e.tar.gz changed final destination from https://github.com/NixOS/nixpkgs/archive/c02d05bcf73fb496c604798c2268ed424a09e73e.tar.gz to https://codeload.github.com/NixOS/nixpkgs/tar.gz/c02d05bcf73fb496c604798c2268ed424a09e73e during transfer
seems like maybe dns worked because the url changed but now it's mad about that for whatever reason?
| 20:10:49 |
K900 | I've hit this one too a few times | 20:11:31 |
K900 | But it's very random | 20:11:34 |
K900 | It's like something is racing the redirect | 20:11:40 |
Charles | Commit ID: 44a5ba269a60d5f4a7c68d42150ab10d36e2b20b
Change ID: qvolmxtvrmopzvsnvkmwktulkmxrqqmv
Author : Charles Hall <charles@computer.surgery> (2025-08-02 13:02:15)
Committer: Charles Hall <charles@computer.surgery> (2025-08-02 13:12:46)
hardcode nameservers for docker
This works around various programs failing to be able to do DNS
correctly inside docker containers due to the extra nameserver added
by wg-air. Extremely annoying. Also lame that docker doesn't have a way
to just denlylist nameservers instead of having to specify a fixed list.
diff --git a/nix/nixos-module/gitlab/default.nix b/nix/nixos-module/gitlab/default.nix
index cd77783c3c..93b0fedb18 100644
--- a/nix/nixos-module/gitlab/default.nix
+++ b/nix/nixos-module/gitlab/default.nix
@@ -15,7 +15,15 @@
boot.kernel.sysctl."net.ipv4.ip_forward" = true;
# Docker is required for gitlab-runner
- virtualisation.docker.enable = true;
+ virtualisation.docker = {
+ enable = true;
+ daemon.settings.dns = [
+ "1.0.0.1"
+ "1.1.1.1"
+ "8.8.4.4"
+ "8.8.8.8"
+ ];
+ };
services.gitlab = {
enable = true;
i feel like just doing this is going to be my best bet tbh
| 20:29:38 |