Skip to content
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

ZERO Hydra Failures 20.03 #80379

Closed
worldofpeace opened this issue Feb 17, 2020 · 103 comments
Closed

ZERO Hydra Failures 20.03 #80379

worldofpeace opened this issue Feb 17, 2020 · 103 comments

Comments

@worldofpeace
Copy link
Contributor

worldofpeace commented Feb 17, 2020

ZERO Hydra Failures 20.03

Jobsets:

Mission

Every time we branch off a release we stabilize the release branch.
Our goal here is to get as little as possible jobs failing on the release-20.03 jobset.
I'd like to heighten, while it's great to focus on zero as our goal, it's essentially to
have all deliverables that worked in the previous release work here also.

How many failing jobs are there?

At the opening of this issue we have the main jobset at 1204 failing jobs, x86_64-darwin at 1384, and aarch64-linux at 7482.

The first evaluation of 19.09 had 1654 failing jobs.
So we're actually starting off with slightly less failing jobs compared to the last release.

How to help

  1. Select an evaluation of the release-20.03 jobset by #id
    Screenshot from 2020-02-08 15 20 41

  2. Find a failed job ❌️
    Screenshot from 2020-02-08 15 26 47

  3. Work out why it's failing and fix it

  4. Pull Request the fix

Generally the job fails on master also, you can verify that on Hydra - example URL: https://hydra.nixos.org/job/nixpkgs/trunk/bash.x86_64-linux.
That means most PR's should be targeted on master or staging for mass rebuilding changes.

Always reference this issue in the body of your PR:

ZHF: #80379
  1. Backport it to release-20.03 or staging-20.03.

Details on that are in CONTRIBUTING.
Please ping @NixOS/nixos-release-managers on the PR.

Packages that don't get fixed

The remaining packages will be marked as broken before the release (on the failing platforms).
You can do this like:

meta = {
  # ref to issue/explanation
  # `true` is for everything
  broken = stdenv.isDarwin 
};

These are the utility flags used to test the type of platform.

Closing

This is a great way to help NixOS, and it was some of my earliest contributions.
Let's go ✌️

✨️ worldofpeace

cc @NixOS/nixpkgs-committers @NixOS/nixpkgs-maintainers

@jonringer
Copy link
Contributor

IT BEGINS!!!!

@worldofpeace
Copy link
Contributor Author

This was actually delayed by #79907, but we just got this sorted.
Many thanks to everyone who fixed it ✨

@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/nixos-20-03-beta/5935/1

Ma27 pushed a commit that referenced this issue Feb 17, 2020
these only expired (and upstream only seem to have noticed) today

ZHF: #80379
https://hydra.nixos.org/build/112818101

(cherry picked from commit f77e057)
@rnhmjoj
Copy link
Contributor

rnhmjoj commented Feb 17, 2020

It looks like all nixosTests on i686 are failing because of a test in python aiohttp: https://hydra.nixos.org/build/112800138/nixlog/390/tail.

The problem is

>> int(4575744000.0).bit_lenght()
33

which can't be represented on i686 time_t.

Should we silence the test on 32bit platforms?

@worldofpeace
Copy link
Contributor Author

@rnhmjoj They already disable some tests on that platform https://github.com/aio-libs/aiohttp/pull/4021/files#diff-484462fced51d1a06b1d93b4a44dd535R34, sounds good.

@samueldr
Copy link
Member

samueldr commented Feb 17, 2020

Even better Somewhat preferred, patch it to disable only the failing tests.

worldofpeace added a commit to worldofpeace/nixpkgs that referenced this issue Feb 17, 2020
Pantheon's sideload broke:
```
meson.build:17:0: ERROR: Could not generate cargs for flatpak:
Package ostree-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `ostree-1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'ostree-1', required by 'flatpak', not found
```

https://hydra.nixos.org/build/113077888

ZHF: NixOS#80379
@asymmetric
Copy link
Contributor

asymmetric commented Feb 17, 2020

Can I just say that this is an awesome ZHF description, with lots of valuable info in it.

Great job @worldofpeace! 👏

@worldofpeace
Copy link
Contributor Author

Can I just say that this is an awesome ZHF description, with lots of valuable info in it.

Great job @worldofpeace! clap

Thank you 😊 I tried to include all the useful information from my predecessors and my own stylized information.

worldofpeace added a commit that referenced this issue Feb 18, 2020
Pantheon's sideload broke:
```
meson.build:17:0: ERROR: Could not generate cargs for flatpak:
Package ostree-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `ostree-1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'ostree-1', required by 'flatpak', not found
```

https://hydra.nixos.org/build/113077888

ZHF: #80379
(cherry picked from commit 461ea02)
@tbenst
Copy link
Contributor

tbenst commented Feb 18, 2020

Awesome! Anyone know if there's a way to show failing builds by maintainer? Also, if I want to test my config, should I use https://github.com/NixOS/nixpkgs/tree/20.03-beta?

Thanks for the great work!

@infinisil
Copy link
Member

@tbenst Here's a simple expression you can put in your nixpkgs checkout (say mypkgs.nix), which you can then nix-build mypkgs.nix to build all top-level packages with you as a maintainer (adjust the maintainer there to yourself):

{ pkgs ? import ./. {}
, maintainer ? "infinisil"
}: with pkgs.lib;
filterAttrs (name: value:
 (builtins.tryEval value).success &&
 elem maintainers.${maintainer} (value.meta.maintainers or [])
) pkgs

Or nix-build mypkgs.nix -A <TAB> to see and build individual ones

@worldofpeace
Copy link
Contributor Author

Also, if I want to test my config, should I use https://github.com/NixOS/nixpkgs/tree/20.03-beta?

No, that's the tag, you want to use the release-20.03 branch. But I would wait a few days because I'm not sure everything is built.

dtzWill pushed a commit to dtzWill/nixpkgs that referenced this issue Feb 18, 2020
Pantheon's sideload broke:
```
meson.build:17:0: ERROR: Could not generate cargs for flatpak:
Package ostree-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `ostree-1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'ostree-1', required by 'flatpak', not found
```

https://hydra.nixos.org/build/113077888

ZHF: NixOS#80379
(cherry picked from commit 461ea02)
@bhipple
Copy link
Contributor

bhipple commented Feb 18, 2020

I have this extremely primitive script:

#!/usr/bin/env bash
# Simple script to check nix attrs for build status on Hydra
while [ -n "$1" ]; do
    url="https://hydra.nixos.org/job/nixos/release-20.03/nixpkgs.$1.x86_64-linux"
    printf "Last status of $1 = "
    res=$(curl -s "$url"  | rg -o 'title="[A-Za-z]+"' | sed 's|title=||' | sed 's|"||g' | head -1)
    echo "$res"

    if [ "$res" = "Failed" ]; then
        xdg-open "$url" >/dev/null 2&>1
    fi

    shift
done

which can then be called like this:

$ hydra python37Packages.numpy dnnl s4cmd
Last status of python37Packages.numpy = Succeeded
Last status of dnnl = Succeeded
Last status of s4cmd = Succeeded

It'll open the Hydra page in your web browser for details if there's a failure.

I've been chaining it together with ripgrep, but I think chaining together with a nix expression similar to @infinisil's could result in something more robust.

I've also noticed Hydra is responding very slowly to page loads, so I'm wondering if there's a faster/better way to hit it; I'm not calling in high volume, but please wait for someone who knows more to chime in before you hammer the server with a huge load. It's possible Hydra's REST API has something better here than curl'ing and grepping the status page.
https://nixos.org/hydra/manual/#chap-api

@orivej
Copy link
Contributor

orivej commented Apr 17, 2020

The real problem is mitmproxy in 20.03 is one major release behind.

Do you mean cryptography rather than mitmproxy?

@rnhmjoj
Copy link
Contributor

rnhmjoj commented Apr 17, 2020

Do you mean cryptography rather than mitmproxy?

No, I really meant mitmproxy, which is at 4.0.4, latest is 5.1.1. cryptography is only slightly outdate: 2.8, latest 2.9.

I'm trying to build 5.1.1 right now, if I manage to get it working without changing too many dependencies I could port it to 20.03, otherwise I'll just add yet another patch.

@orivej
Copy link
Contributor

orivej commented Apr 17, 2020

Aha, OK, mitmproxy is not broken on master since master has not yet updated OpenSSL from 1.1.1d to 1.1.1f.

@rnhmjoj
Copy link
Contributor

rnhmjoj commented Apr 17, 2020

I've fixed mitmproxy in 20.03 with 2e08e8c. The update to 5.1.1 requires a bump of cryptography, which is probably better not to backport, see #85458.

@ghost ghost unpinned this issue Apr 19, 2020
@ghost ghost pinned this issue Apr 19, 2020
@sbourdeauducq
Copy link
Contributor

@disassembler Why was python3Packages.svgwrite marked as broken in c6be4c1 ? It seems to build fine, and Python can import the resulting package.

@worldofpeace
Copy link
Contributor Author

If anyone has a package that is wrongly marked as broken or can be fixed, please open a PR.
There's no way us as RMs are going to be able to follow that after the fact, it's just not possible.

@worldofpeace
Copy link
Contributor Author

20.03 is out https://discourse.nixos.org/t/nixos-20-03-release/6785.

Thanks to everyone who helped with 20.03. We accept backports into the stable release during its lifetime, bugfixes and security updates. Minor updates also. If certain exceptions are needed we can work with it. 👋

@jonringer
Copy link
Contributor

I just want to thank @worldofpeace @disassembler and many others for the work they put forward to make this release happen. It makes me happy to see how much the nix community desires to see NixOS be successful :).

May NixOS be the way of the future :)

stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
The app is still maintained upstream, but they aren't cutting releases on
crates.io anymore:
https://crates.io/crates/ion-shell

This fixes the build with the latest Rust toolchain by upgrading to the current
commit off the project's `master`.

ZHF: NixOS#80379

(cherry picked from commit 16cdff0)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
Fixes broken build by backporting NixOS#81577
and previous update.

CC @NixOS/nixos-release-managers

ZHF: NixOS#80379

(cherry picked from commit 908c6e8)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
Upstream only supports python >= 3.6:
https://github.com/python-effect/effect/#effect

CC @NixOS/nixos-release-managers

ZHF: NixOS#80379
(cherry picked from commit 3b7b98c)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
(cherry picked from commit 9c7c0e1)

ZHF: NixOS#80379
Fix build.
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
ZHF: NixOS#80379
https://hydra.nixos.org/build/113061284

Added requiredPerlModules as suggested for similar problem as described for
similar problem here:
NixOS#72783 (comment)

(cherry picked from commit 3e50e26)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
Currently fails to build on python 3.8 due to an overly restrictive version bound.

ZHF: NixOS#80379

CC @NixOS/nixos-release-managers

(cherry picked from commit a65e052)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
On master and 20.03, this is failing to build on `python 3.8`.

https://hydra.nixos.org/build/115517329
https://hydra.nixos.org/build/114714922

CC @NixOS/nixos-release-managers
ZHF: NixOS#80379

Co-Authored-By: Niklas Hambüchen <mail@nh2.me>
(cherry picked from commit 97f09ff)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
The build is currently broken due to failure to build `darcs` to fetch the src
package. The homepage is already their GitHub repo, and it appears to be the
active src of development anyways. See NixOS#83718

I came across this while debugging this failure:
https://hydra.nixos.org/build/115510612

Note that the `application` dependency *does* succeed on Hydra, because it's
already on local disk in Hydra's store, but I cannot rebuild locally because it
has prefer local builds.
https://hydra.nixos.org/build/115512559

This package is not reproducible on 20.03 or buildable outside of Hydra, so I
intend to backport the fix.

CC @NixOS/nixos-release-managers

ZHF: NixOS#80379
(cherry picked from commit 2c5fe63)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
See inline comment for details.

https://hydra.nixos.org/build/115510612

CC @NixOS/nixos-release-managers

ZHF: NixOS#80379
(cherry picked from commit c77bd38)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
See inline comment; this is currently broken and not going to continue working
on python2 without significant effort, so mark it python >= 3.6 only.

https://hydra.nixos.org/build/114680648
https://hydra.nixos.org/build/115518949

CC @NixOS/nixos-release-managers

ZHF: NixOS#80379
(cherry picked from commit f9bc195)
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
We only need to wait for network.target to get up, and the
network-addresses-${interfaceName} units are scripted networking only.

(cherry picked from commit a501abd5499d8f82f0991a7b78bcbc4169b0537f)
ZHF: NixOS#80379
Fix a failing test.
stigok pushed a commit to stigok/nixpkgs that referenced this issue Jun 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests