From 761001f58df1ff47a9e030d5c0f69e725a22ed82 Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Fri, 21 Feb 2025 12:03:23 -0800 Subject: [PATCH] releng: Document release validation checks After the release is created, we do some post-release validation for the Lix packaging in Nixpkgs. This change documents those checks. NB Most of these should probably be *pre*-release validation checks! Closes #627. Change-Id: I773e703582ccc8349987abd1e860a189a437cf3b --- releng/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/releng/README.md b/releng/README.md index d840d05e1..b8bc98408 100644 --- a/releng/README.md +++ b/releng/README.md @@ -98,6 +98,26 @@ git switch -c releng/2.91.1 origin/release-2.91 [lix-website]: https://git.lix.systems/lix-project/lix-website +### Post-Validation + +After the release is created, we do some post-release validation for the Lix +packaging in Nixpkgs. Most of these should probably be pre-release validation checks! + +- [ ] Build on 4 platforms (`{x86_64,aarch64}-{linux,darwin}`) +- [ ] Build with debuginfo: build the `lix.debug` attribute and check it is not an empty directory. + + FIXME(jade): this applies only to Linux right? + I think separate debuginfo on macOS is just broken so we have no debuginfo on there. +- [ ] Verify that manual is present in the `doc` output at `share/doc/nix/manual/` +- [ ] Verify that `:doc` in the `nix repl` finds documentation for `builtins` and Nixpkgs `lib.fix` +- [ ] Cross from `x86_64` → `aarch64` (`pkgsCross.aarch64-multiplatform.lixVersions.lix_2_91`) +- [ ] Cross from `x86_64` → `riscv64` (`pkgsCross.riscv64.lixVersions.lix_2_91`) +- [ ] Cross from `x86_64` → `armv7l` (`pkgsCross.armv7l-hf-multiplatform.lixVersions.lix_2_91`) +- [ ] Cross from `aarch64` → `x86_64` (`pkgsCross.gnu64.lixVersions.lix_2_91` from `aarch64-linux`) +- [ ] Static builds on `x86_64-linux`, `aarch64-linux`, `aarch64-darwin` (`pkgs.pkgsStatic.lixVersions.lix_2_91`) +- [ ] Perform closure checks and verify that no unnecessary dependencies are included (compare to previous versions: `du -hs result/` and `nix path-info -rsh result/`) +- [ ] Ensure that previous versions did not explode in size neither in functionality: use the same methodology as above for `lixVersions.lix_2_91`, etc, after the new release is packaged. + ### Installer The installer is cross-built to several systems from a Mac using `build-all.xsh` and `upload-to-lix.xsh` in the installer repo (FIXME: currently at least; maybe this should be moved here?).