From 18d7ca98c784aa223c1b345483206c628c685812 Mon Sep 17 00:00:00 2001 From: Vika Date: Tue, 9 Mar 2021 18:11:57 +0000 Subject: [PATCH] Create 0087-aarch64-tier1.md Suggested in [nixos-org-configurations#142](https://github.com/NixOS/nixos-org-configurations/pull/142). `aarch64-linux` gathers enough attention to receive a promotion to a supported architecture? Rendered: TBA --- rfcs/0087-aarch64-tier1.md | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 rfcs/0087-aarch64-tier1.md diff --git a/rfcs/0087-aarch64-tier1.md b/rfcs/0087-aarch64-tier1.md new file mode 100644 index 000000000..f31c91270 --- /dev/null +++ b/rfcs/0087-aarch64-tier1.md @@ -0,0 +1,66 @@ +--- +feature: aarch64-tier1 +start-date: 2021-03-09 +author: Vika Shleina +co-authors: TBD +shepherd-team: TBD +shepherd-leader: TBD +related-issues: TBD +--- + +# Summary +[summary]: #summary + +Move `aarch64-linux` from a Tier 2 platform to Tier 1, as described in [RFC 0046](/rfcs/0046-platform-support-tiers.md) + +# Motivation +[motivation]: #motivation + +`aarch64-linux` support in Nixpkgs and NixOS matures over time and becomes +more and more stable, and more devices appear having NixOS on ARM support. +Moving it to a Tier 1 platform will allow us to block release channels on +aarch64-related build failures, making it easier and safer for ARM users +to upgrade their systems, and will help in keeping software versions in +sync between several architectures due to `x86_64-linux` and `aarch64-linux` +builds sharing a channel. + +# Detailed design +[design]: #detailed-design + +`aarch64-linux` builds will be added to stable and unstable channels' `tested` +aggregate jobs on Hydra, giving them ability to block channel advances. + +# Examples and Interactions +[examples-and-interactions]: #examples-and-interactions + + + +In [nixos/release-combined.nix](https://github.com/NixOS/nixpkgs/blob/master/nixos/release-combined.nix) +`aarch64-linux` will be moved to `supportedSystems`, enabling NixOS tests +to block channel advances in case of failures. + +(maybe something more? IDK for now) + +# Drawbacks +[drawbacks]: #drawbacks + +Some build failures could unneccesarily delay channel advances, delaying critical updates. + +# Alternatives +[alternatives]: #alternatives + +Create an aarch64-focused channel that would build same things current `unstable` does, but for aarch64 only. + +# Unresolved questions +[unresolved]: #unresolved-questions + +TBA + +# Future work +[future]: #future-work + +TBA