ci/eval/compare: handle missing packages#439198
Merged
wolfgangwalther merged 1 commit intoNixOS:masterfrom Sep 1, 2025
Merged
Conversation
Not all packages that are reported as changed will actually exist on the platform that the maintainers are colleted on. This is the case for some attributes that are only available on Darwin or explicitly set to `null` on Linux. By filtering out packages without maintainers, these are ignored - and we should potentially get a small performance improvement as well.
fabianhjr
approved these changes
Sep 1, 2025
philiptaron
approved these changes
Sep 1, 2025
Contributor
philiptaron
left a comment
There was a problem hiding this comment.
I like concatMap for this use case (map + filter) but this definitely works.
Contributor
|
Successfully created backport PR for |
1 task
Contributor
Author
|
CI for staging-next is fixed: https://github.com/NixOS/nixpkgs/actions/runs/17382924267/job/49344392876?pr=438642 Indeed the |
Contributor
|
Wonderful |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Not all packages that are reported as changed will actually exist on the platform that the maintainers are collected on.
This is the case for some attributes that are only available on Darwin or explicitly set to
nullon Linux. By filtering out packages without maintainers, these are ignored - and we should potentially get a small performance improvement as well.Fixes #438652 (comment) and should hopefully make CI on staging-next green again.
The CI failure was https://github.com/NixOS/nixpkgs/actions/runs/17377113706/job/49326131217. The run on the previous commit was this https://github.com/NixOS/nixpkgs/actions/runs/17369117763/job/49301365388. The latter shows 3 kinds of traces originating in the now removed code:
trace: [...] exists but is null: these are very special cases,elf-headerandlibintlhere. These are set tonulland passed around like this to effectively disable them. This should, in theory, be solved differently, but that's certainly out of scope for this PR.trace: Failed to locate [...].: most of these are about package additions. These will be filtered out with the changes in ci/eval/compare: ping maintainers of removed packages #438652, so nothing to worry about anymore.trace: Failed to locate tests.stdenv.hooks.no-broken-symlinks.[...].: These are only added to the attrset for Darwin & BSDs, so just don't have an attribute on Linux. They appear as changed packages on Darwin, then can't be looked up for maintainers on Linux.Things done
Add a 👍 reaction to pull requests you find important.