2
0
Fork 0

Hydra: build Solo5 PRs using release derivation

This just makes it easier to run the tests as well.
This commit is contained in:
Ehmry - 2019-10-22 17:58:45 +02:00
parent 756bec7052
commit b2d4dc491e
3 changed files with 83 additions and 88 deletions

View File

@ -18,54 +18,59 @@ let
keepnr = 8;
};
solo5 = import ./solo5-jobs.nix { pullRequests = solo5PullRequests; };
releaseInputs = {
dhall-haskell = {
type = "git";
value = "https://github.com/dhall-lang/dhall-haskell.git master";
emailresponsible = false;
};
dhallNixpkgsStaticLinux = {
type = "git";
value =
"https://github.com/nh2/nixpkgs.git 925aac04f4ca58aceb83beef18cb7dae0715421b";
emailresponsible = false;
};
dhallNixpkgs = {
type = "git";
value =
"https://gitea.c3d2.de/ehmry/nixpkgs.git 1d4de0d552ae9aa66a5b8dee5fb0650a4372d148";
emailresponsible = false;
};
genodepkgs = {
type = "git";
value = "https://gitea.c3d2.de/ehmry/genodepkgs.git master";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "https://gitea.c3d2.de/ehmry/nixpkgs.git hybrid-19.09";
emailresponsible = false;
};
nim-overlay = {
type = "git";
value = "https://git.sr.ht/~ehmry/nim-overlay";
emailresponsible = false;
};
};
solo5 = import ./solo5-jobs.nix {
inherit releaseInputs;
pullRequests = solo5PullRequests;
};
jobsets = ({
trunk = mkJobSet {
description = "Genodepkgs master branch";
nixexprpath = "release.nix";
inputs = {
dhall-haskell = {
type = "git";
value = "https://github.com/dhall-lang/dhall-haskell.git master";
emailresponsible = false;
};
dhallNixpkgsStaticLinux = {
type = "git";
value =
"https://github.com/nh2/nixpkgs.git 925aac04f4ca58aceb83beef18cb7dae0715421b";
emailresponsible = false;
};
dhallNixpkgs = {
type = "git";
value =
"https://gitea.c3d2.de/ehmry/nixpkgs.git 1d4de0d552ae9aa66a5b8dee5fb0650a4372d148";
emailresponsible = false;
};
genodepkgs = {
type = "git";
value = "https://gitea.c3d2.de/ehmry/genodepkgs.git master";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "https://gitea.c3d2.de/ehmry/nixpkgs.git hybrid-19.09";
emailresponsible = false;
};
nim-overlay = {
type = "git";
value = "https://git.sr.ht/~ehmry/nim-overlay";
emailresponsible = false;
};
};
inputs = releaseInputs;
};
} // solo5);

View File

@ -2,59 +2,42 @@
#
# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1
{ pullRequests }:
{ releaseInputs, pullRequests }:
with builtins;
let
pullRequests' = fromJSON (readFile pullRequests);
prToJob = pr:
{
name = "solo5-${toString pr.number}";
value = {
prToJob = pr: {
name = "solo5-${toString pr.number}";
value = {
description = pr.title;
nixexprpath = "hydra/solo5.nix";
enabled = 1;
hidden = false;
nixexprinput = "genodepkgs";
checkinterval = 300;
schedulingshares = 100;
enableemail = false;
emailoverride = "";
keepnr = 8;
description = pr.title;
nixexprpath = "hydra/solo5.nix";
enabled = 1;
hidden = false;
nixexprinput = "genodepkgs";
checkinterval = 300;
schedulingshares = 100;
enableemail = false;
emailoverride = "";
keepnr = 8;
inputs = {
prSrc = {
type = "git";
value = "https://github.com/Solo5/solo5.git pull/${toString pr.number}/head";
emailresponsible = false;
};
genodepkgs = {
type = "git";
value = "https://gitea.c3d2.de/ehmry/genodepkgs.git master";
emailresponsible = false;
};
nixpkgs = {
type = "git";
value = "https://gitea.c3d2.de/ehmry/nixpkgs.git hybrid-19.09";
emailresponsible = false;
};
nim-overlay = {
type = "git";
value = "https://git.sr.ht/~ehmry/nim-overlay";
emailresponsible = false;
};
inputs = releaseInputs // {
prSrc = {
type = "git";
value = "https://github.com/Solo5/solo5.git pull/${
toString pr.number
}/head";
emailresponsible = false;
};
};
};
};
jobs = map prToJob (attrValues pullRequests');

View File

@ -2,11 +2,16 @@
#
# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1
{ genodepkgs, nixpkgs, nim-overlay, prSrc }:
{ genodepkgs, nixpkgs, dhall-haskell, dhallNixpkgs, dhallNixpkgsStaticLinux
, nim-overlay, prSrc }:
let pkgs = import genodepkgs { inherit nixpkgs nim-overlay; };
in {
build.x86_64.solo5 = pkgs.solo5.overrideAttrs (attrs: {
let
release = import ../release.nix {
inherit dhall-haskell dhallNixpkgs dhallNixpkgsStaticLinux nixpkgs
genodepkgs nim-overlay;
};
prOverride = attrs: {
src = prSrc;
preConfigure = ''
cat <<EOM >include/solo5/solo5_version.h.distrib
@ -16,5 +21,7 @@ in {
#endif
EOM
'';
});
}
};
in
{ build.x86_64.solo5 = pkgs.solo5.overrideAttrs prOverride; }