aboutsummaryrefslogtreecommitdiff
path: root/releng/release-jobs.nix
diff options
context:
space:
mode:
authorjade <lix@jade.fyi>2024-06-15 02:38:09 +0000
committerGerrit Code Review <gerrit@localhost>2024-06-15 02:38:09 +0000
commite1059bfa34b2f9e780ae2d13021c6bef66f34599 (patch)
tree887869e9cdc90df1eeeec59fb31d93ac36ce39c2 /releng/release-jobs.nix
parent068576042b3b58f8180b24a36c07199a1a3fd380 (diff)
parentd5c670ad0175fe2a9279784f2acacae4ba7b3828 (diff)
Merge changes from topic "releng" into main
* changes: releng: add sha256 for the manual tarball releng: fix upload of multiarch images to forgejo releng: fix git checking releng: fix logging inside interactive xonsh releng: support multiple systems version: update to 2.90.0-rc1
Diffstat (limited to 'releng/release-jobs.nix')
-rw-r--r--releng/release-jobs.nix57
1 files changed, 46 insertions, 11 deletions
diff --git a/releng/release-jobs.nix b/releng/release-jobs.nix
index 4db0baed3..7f1017002 100644
--- a/releng/release-jobs.nix
+++ b/releng/release-jobs.nix
@@ -3,8 +3,27 @@ let
inherit (pkgs) lib;
lix = hydraJobs.build.x86_64-linux;
- systems = [ "x86_64-linux" ];
- dockerSystems = [ "x86_64-linux" ];
+ # This is all so clumsy because we can't use arguments to functions in
+ # flakes, and certainly not with n-e-j.
+ profiles = {
+ # Used for testing
+ x86_64-linux-only = {
+ systems = [ "x86_64-linux" ];
+ dockerSystems = [ "x86_64-linux" ];
+ };
+ all = {
+ systems = [
+ "x86_64-linux"
+ "aarch64-linux"
+ "aarch64-darwin"
+ "x86_64-darwin"
+ ];
+ dockerSystems = [
+ "x86_64-linux"
+ "aarch64-linux"
+ ];
+ };
+ };
doTarball =
{
@@ -27,7 +46,8 @@ let
sha256sum --binary $filename | cut -f1 -d' ' > $out/$basename.sha256
'';
- targets =
+ targetsFor =
+ { systems, dockerSystems }:
builtins.map (system: {
target = hydraJobs.binaryTarball.${system};
targetName = "*.tar.xz";
@@ -44,14 +64,29 @@ let
tar -cvzf "$out/lix-${lix.version}-manual.tar.gz" lix-${lix.version}-manual
'';
- tarballs = pkgs.runCommand "lix-release-tarballs" { } ''
- mkdir -p $out
- ${lib.concatMapStringsSep "\n" doTarball targets}
- cp ${manualTar}/*.tar.gz $out
- cp -r ${lix.doc}/share/doc/nix/manual $out
- '';
+ tarballsFor =
+ { systems, dockerSystems }:
+ pkgs.runCommand "lix-release-tarballs" { } ''
+ mkdir -p $out
+ ${lib.concatMapStringsSep "\n" doTarball (targetsFor {
+ inherit systems dockerSystems;
+ })}
+ ${doTarball {
+ target = manualTar;
+ targetName = "lix-*.tar.gz";
+ }}
+ cp -r ${lix.doc}/share/doc/nix/manual $out
+ '';
in
-{
+(builtins.mapAttrs (
+ _:
+ { systems, dockerSystems }:
+ {
+ build = lib.filterAttrs (x: _: builtins.elem x systems) hydraJobs.build;
+ tarballs = tarballsFor { inherit systems dockerSystems; };
+ }
+) profiles)
+// {
inherit (hydraJobs) build;
- inherit tarballs;
+ inherit tarballsFor;
}