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

[24.05] nixos/release: drop i686-linux support #266164

Merged
merged 2 commits into from Jan 6, 2024

Conversation

RaitoBezarius
Copy link
Member

Description of changes

Discussion for 24.05

At the time of writing, an increased source of failure in our CI is related to i686-linux.

While I do wish to support 32 bits x86 system further, the reality is that we cannot identify in our community maintainers for i686-linux that can provide continuous maintenance for our i686-linux packages.

As a matter of fact, i686-linux is probably broken in nixpkgs, we decide to rip off the band-aid and drop the support.

Next steps could involve to extract a core package set of nixpkgs / NixOS in an out-of-tree repository to offer a simple 32 bits NixOS support with a cache or to find maintainers who are willing to work on i686 support.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

At the time of writing, an increased source of failure in our CI is related to i686-linux.

While I do wish to support 32 bits x86 system further, the reality is that we cannot
identify in our community maintainers for `i686-linux` that can provide continuous maintenance
for our i686-linux packages.

As a matter of fact, `i686-linux` is probably broken in nixpkgs, we decide to rip off the band-aid
and drop the support.

Next steps could involve to extract a core package set of nixpkgs / NixOS in an out-of-tree
repository to offer a simple 32 bits NixOS support with a cache or to find maintainers
who are willing to work on i686 support.
@vcunat
Copy link
Member

vcunat commented Nov 8, 2023

Note: dropping the i686 ISO would need also changes elsewhere – at least

I think it's a good direction to at least reduce the amount of i686 NixOS tests, but I'm not sure how far to go. We surely want to keep building (and caching) some i686 packages.

@RaitoBezarius RaitoBezarius marked this pull request as ready for review November 25, 2023 12:44
ryantm added a commit to ryantm/agenix that referenced this pull request Dec 20, 2023
Why
===
* flake.nix had a lot of almost redundant lines in it.
* i686 support is probably being dropped soon in nixpkgs
NixOS/nixpkgs#266164

What changed
==
* Add new input nix-systems/default which represents the default
systems typically used in the Nix community
* Define and use an eachSystem function that simplifies the flake.nix file
@vcunat
Copy link
Member

vcunat commented Jan 1, 2024

Do you think we need some kind of wider feedback from community before proceeding with reducing i686 builds? I'm interested in this, because I believe it would noticeably ease burden on our build infra (especially the NixOS tests seem like a bad tradeoff for i686).

@RaitoBezarius
Copy link
Member Author

Do you think we need some kind of wider feedback from community before proceeding with reducing i686 builds? I'm interested in this, because I believe it would noticeably ease burden on our build infra (especially the NixOS tests seem like a bad tradeoff for i686).

No, I think we can proceed at dropping i686-linux now.

@vcunat
Copy link
Member

vcunat commented Jan 1, 2024

Our RFC says that stdenv for i686 should be a channel blocker. That sounds fine to me, as we still want to keep building packages like wine or steam anyway. But to keep the promise, we'd need to amend the channel blocking set.

  • tested in nixos/release-combined.nix
    EDIT: added i686 mesa in there within this PR.
  • and perhaps also unstable in pkgs/top-level/release.nix – otherwise I don't think this promise was (and will be) kept for the nixpkgs-unstable channel

@vcunat
Copy link
Member

vcunat commented Jan 1, 2024

https://nixos.org/download has a link to 32-bit stable ISO. I suspect we'll forget and it will get broken on release, but I suppose it won't be a big deal.

@vcunat
Copy link
Member

vcunat commented Jan 1, 2024

The last nixos-unstable channel is without i686 download now:
https://releases.nixos.org/nixos/unstable/nixos-24.05pre564493.b0d36bd0a420

@RaitoBezarius
Copy link
Member Author

nixos.org/download has a link to 32-bit stable ISO. I suspect we'll forget and it will get broken on release, but I suppose it won't be a big deal.

We should send a PR to the homepage to update it.

@nixos-discourse
Copy link

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

https://discourse.nixos.org/t/limited-cache-availability-for-i686-32-bits-x86-architecture/37626/1

Apart from being still a useful package, this keeps a basic sanity check
for i686, now that we dropped the installation image, etc.
Our RFC mandates that i686 stdenv is a channel blocker:
https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3-1
@vcunat
Copy link
Member

vcunat commented Jan 5, 2024

I hear nothing potentially blocking this PR from merging?

@RaitoBezarius
Copy link
Member Author

I hear nothing potentially blocking this PR from merging?

Yes feel free to proceed.

@vcunat vcunat merged commit 454989c into NixOS:master Jan 6, 2024
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants