Tracking issue: Docker/gitlab-runner/golang incompatibility
A breaking change in golang broke Docker (https://github.com/docker/cli/issues/4437#issuecomment-1637715017). It also broke gitlab-runner (https://gitlab.com/gitlab-org/gitlab-runner/-/issues/36051).
Until fixes for these problems flow down the distribution channels, our gitlab runners are pinned to fixed versions of nixpkgs.
Original report follows.
I have had to pause zw3rk linux runners 5,6 and 7.
ERROR: Job failed (system failure): prepare environment: http: invalid Host header (exec.go:71:0s). Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information
- Show closed items
Relates to
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Matthew Pickering added Phighest label
added Phighest label
Collapse replies - Author Developer
Oh no, that's a terrible bug. Will you revert the machines back to a working nixpkgs version?
- Maintainer
If I understand correctly, there is currently a fix in
nixos-23.05
which should resolve the issue. - Developer
bumped past the fix that @bgamari mentioned. Deploy in progress. There used to be a fix (overriding docker with an older revision) present. I'm not sure why that didn't work.
Hope it's fixed now
- Ben Gamari marked this issue as related to ci-config#6 (closed)
marked this issue as related to ci-config#6 (closed)
- Author Developer
I had to pause aarch64-linux-2 as well.
- sheaf added CI breakage label
added CI breakage label
- Author Developer
Also https://gitlab.haskell.org/ghc/ghc/-/jobs/1621012
Pausing aarch64-linux_ghc-arm-5_6b65c6b684af
- Developer
all zw3rk runners should have been deployed past nixpkgs@3e0779ce103122aa446f480047dbe6fa43838bf8. I do not know who maintains arm-5
Collapse replies - Author Developer
Thanks for update Moritz, I will continue to monitor the situatin.
- Author Developer
There is a quite recent failure on -5, was this after the deployment?
- Developer
Yes, that would have been past the deployment.
- Author Developer
I have paused linux-5 again.
- Developer
- Developer
@mpickering I'll try to follow up on this. I'm afraid I'm currently on holidays and only with limited internet availability.
- Author Developer
Thanks for diagnosing that Moritz, it's really helpful, perhaps we can roll back to a commit which uses go-1.20.5?
- Developer
apparently merged 9hs ago. Let's try another bump
- Developer
I'm a bit reluctant to rollback, as I need some GitHub Runners (for which GitHub conveniently has rolling releases, and disables old releases
). - Author Developer
I am not sure I see how that linked commit will fix the issue, I couldn't see where they mentioned it would fix the problem in the changelog.
- Developer
Fair, I might have misread a "fix" into the note
Note that the docker executor is broken since Go 1.20.6. #245365 from: https://github.com/NixOS/nixpkgs/pull/245366
- Author Developer
I have paused 5,6,7 again.
- Developer
trying:
(self: super: { go = super.go.overrideDerivation (old: rec { version = "1.20.5"; src = super.fetchurl { url = "https://go.dev/dl/go${version}.src.tar.gz"; hash = "sha256-mhXBM7os+v55ZS9IFbYufPwmf2jfG5RUxqsqPKi5aog="; }; }); })
Edited by Moritz Angermann - Developer
deployed.
- Author Developer
Thanks @angerman, still seems an issue on aarch64-linux-2.
https://gitlab.haskell.org/ghc/ghc/-/jobs/1621141
We don't have any working aarch64 runners currently so all CI pipelines are blocked.
Edited by Matthew Pickering - Author Developer
linux-7 also still failing: https://gitlab.haskell.org/ghc/ghc/-/jobs/1621292
- Author Developer
I think rolling back the runners to a known good commit is a sensible option given our CI systems are blocked completely now.
- Developer
https://gitlab.haskell.org/ghc/ghc/-/jobs/1621352 looks ok, so I guess it worked this time around.
Collapse replies - Maintainer
@angerman, I think you would be the best person to summarize here.
- Developer
5,6,7 (and 8; though that serves mostly GitHub.com/haskell); as well as the aarch64-linux machine are deployed from https://github.com/angerman/nixpkgs/commit/604883e4fc2e235e3769bb41ef3f97a7f04a8de4.
- Developer
@chreekat does have access to github:zw3rk/infra, which contains the relevant nixos/nix-darwin deployment.
- Maintainer
For the record,
gitlab-runner
upstream is discussing how to proceed with fixing this issue here:Edited by Ben Gamari - Author Developer
Collapse replies After @mpickering messaged me on IRC yesterday, I was able to fix this runner as well.
ghc-ci-perf-1 and ghc-arm-5 are both NixOS machines running in Equinix whose configuration and documentation is in the ci-config repo. See e.g. the changes to fix ghc-arm-5 here: ci-config@49c9cf33 . There was some confusion on this fact, I gather.
- Bryan R mentioned in issue ci-config#6 (closed)
mentioned in issue ci-config#6 (closed)
- Bryan R changed title from ghc-5,6,7 zw3rk runners all failing to Tracking issue: Docker/gitlab-runner/golang incompatibility
changed title from ghc-5,6,7 zw3rk runners all failing to Tracking issue: Docker/gitlab-runner/golang incompatibility
- Bryan R changed the description
Compare with previous version changed the description
- Bryan R removed CI breakage Phighest labels
removed CI breakage Phighest labels
- Bryan R added CI breakage Phighest labels
added CI breakage Phighest labels
- Bryan R closed
closed