patch hydra instead of using forked repos
This commit is contained in:
parent
172b40f193
commit
4e002f8751
|
@ -111,7 +111,7 @@ ACTION=="add", SUBSYSTEM=="tty", \
|
||||||
];
|
];
|
||||||
services.hydra = {
|
services.hydra = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.callPackage ./hydra.nix {};
|
package = pkgs.hydra.overrideAttrs(oa: { patches = oa.patches ++ [ ./hydra-conda.patch ./hydra-retry.patch ]; } );
|
||||||
useSubstitutes = true;
|
useSubstitutes = true;
|
||||||
hydraURL = "https://nixbld.m-labs.hk";
|
hydraURL = "https://nixbld.m-labs.hk";
|
||||||
notificationSender = "hydra@m-labs.hk";
|
notificationSender = "hydra@m-labs.hk";
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
commit 5aa5f8d5742883d41d7278a2c8bc2c9a2ddfef45
|
||||||
|
Author: Sebastien Bourdeauducq <sb@m-labs.hk>
|
||||||
|
Date: Sun Apr 14 18:25:27 2019 +0800
|
||||||
|
|
||||||
|
add SVG icon for conda package
|
||||||
|
|
||||||
|
diff --git a/src/root/product-list.tt b/src/root/product-list.tt
|
||||||
|
index 298d0a66..85914bbd 100644
|
||||||
|
--- a/src/root/product-list.tt
|
||||||
|
+++ b/src/root/product-list.tt
|
||||||
|
@@ -157,6 +157,11 @@
|
||||||
|
<img src="[% c.uri_for("/static/images/debian.png") %]" alt="DEB" />
|
||||||
|
</td>
|
||||||
|
<td>Debian package</td>
|
||||||
|
+ [% CASE "conda" %]
|
||||||
|
+ <td>
|
||||||
|
+ <img src="[% c.uri_for("/static/images/conda.svg") %]" width="32" height="32" alt="Conda" />
|
||||||
|
+ </td>
|
||||||
|
+ <td>Conda package</td>
|
||||||
|
[% CASE "iso" %]
|
||||||
|
<td>
|
||||||
|
<img src="[% c.uri_for("/static/images/iso.png") %]" alt="ISO" />
|
||||||
|
diff --git a/src/root/static/images/conda.svg b/src/root/static/images/conda.svg
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..67859731
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/root/static/images/conda.svg
|
||||||
|
@@ -0,0 +1,18 @@
|
||||||
|
+<svg width="128" height="128" style="enable-background:new 0 0 128 128;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
+ <g id="g2">
|
||||||
|
+ <g>
|
||||||
|
+ <path d="M118.89,75.13c-1.31-2.72-3.46-5.53-6.97-7.33c-2.37-1.48-4.57-2.24-6.01-2.63 c1.53-5.6-0.64-10.06-3.69-13.39c-4.53-4.88-9.27-5.59-9.27-5.59l-0.01,0c1.56-3.03,2.15-6.54,1.36-9.99 c-1-4.26-3.29-6.94-6.31-8.73c-3.09-1.83-6.91-2.73-10.83-3.43c-1.88-0.34-9.81-1.45-13.1-6c-2.65-3.69-2.73-10.33-3.45-12.32 c-0.77-2.05-3.38-1.15-6.23,0.76c-3.33,2.22-10.23,9.35-12.89,16.49c-2.03,5.47-2.08,10.21-1.28,13.89 c-3.29,0.55-5.76,1.66-6.23,1.88c-0.16,0.05-0.32,0.1-0.49,0.17c-3.01,1.24-9.43,7.02-10.01,15.85c-0.2,3.14,0.21,6.31,1.2,9.26 c-3.94,1.1-6.22,2.54-6.26,2.57c-2,0.75-5.18,2.95-6.15,4.13c-1.97,2.38-3.34,5.21-4.15,8.18C6.35,85.36,7,92.71,10.14,98.67 c1.74,3.31,4.12,6.83,6.74,9.52c8.55,8.79,23.31,12.11,34.96,14.03c14.19,2.34,29.05,1.52,42.33-3.97 c19.92-8.22,25.22-21.44,26-25.17C121.92,84.77,119.8,77,118.89,75.13z" style="fill:#865D53;"/>
|
||||||
|
+ <g>
|
||||||
|
+ <g>
|
||||||
|
+ <ellipse cx="85.95" cy="66.39" rx="16.61" ry="15.5" style="fill:#FFFFFF;" transform="matrix(0.1106 -0.9939 0.9939 0.1106 10.453 144.4706)"/>
|
||||||
|
+ <path d="M92.63,66.36c-0.23,3.3-3.14,5.82-6.49,5.62c-3.36-0.19-5.9-3.04-5.67-6.34 c0.22-3.31,3.12-5.82,6.48-5.62C90.31,60.21,92.86,63.06,92.63,66.36" style="fill:#2F2F2F;"/>
|
||||||
|
+ </g>
|
||||||
|
+ <g>
|
||||||
|
+ <ellipse cx="42.46" cy="66.4" rx="15.5" ry="16.61" style="fill:#FFFFFF;" transform="matrix(0.9972 -0.0752 0.0752 0.9972 -4.8714 3.3796)"/>
|
||||||
|
+ <path d="M49.02,65.13c0.38,3.29-2.01,6.3-5.34,6.72c-3.34,0.43-6.36-1.9-6.74-5.18 c-0.4-3.29,1.99-6.3,5.33-6.73C45.6,59.52,48.63,61.85,49.02,65.13" style="fill:#2F2F2F;"/>
|
||||||
|
+ </g>
|
||||||
|
+ </g>
|
||||||
|
+ <path d="M87.35,89.46c-2.22-1.5-5.02-0.51-7.49,0c-6.9,1.42-12.95,1.48-15.86,1.48 c-2.91,0-8.96-0.06-15.86-1.48c-2.47-0.51-5.27-1.5-7.49,0c-2.82,1.9-0.74,8.74,3.7,13.36c2.68,2.79,9.07,8.21,19.66,8.21 c10.58,0,16.97-5.42,19.66-8.21C88.09,98.2,90.17,91.37,87.35,89.46z" style="fill:#ED6D31;"/>
|
||||||
|
+ </g>
|
||||||
|
+ </g>
|
||||||
|
+</svg>
|
||||||
|
\ No newline at end of file
|
|
@ -0,0 +1,19 @@
|
||||||
|
commit 86bf81c0b8a51bffa4b4b566e1caaac6f0e041d3
|
||||||
|
Author: Sebastien Bourdeauducq <sb@m-labs.hk>
|
||||||
|
Date: Thu Mar 14 17:45:32 2019 +0800
|
||||||
|
|
||||||
|
add option to disable retries on transient failures
|
||||||
|
|
||||||
|
diff --git a/src/hydra-queue-runner/build-remote.cc b/src/hydra-queue-runner/build-remote.cc
|
||||||
|
index 69c430eb..bdbc808d 100644
|
||||||
|
--- a/src/hydra-queue-runner/build-remote.cc
|
||||||
|
+++ b/src/hydra-queue-runner/build-remote.cc
|
||||||
|
@@ -344,7 +344,7 @@ void State::buildRemote(ref<Store> destStore,
|
||||||
|
break;
|
||||||
|
case BuildResult::TransientFailure:
|
||||||
|
result.stepStatus = bsFailed;
|
||||||
|
- result.canRetry = true;
|
||||||
|
+ result.canRetry = get(step->drv.env, "__hydraRetry", "1") == "1";
|
||||||
|
result.errorMsg = "";
|
||||||
|
break;
|
||||||
|
case BuildResult::TimedOut:
|
|
@ -1,155 +0,0 @@
|
||||||
{ stdenv, nix, perlPackages, buildEnv, releaseTools, fetchFromGitHub
|
|
||||||
, makeWrapper, autoconf, automake, libtool, unzip, pkgconfig, sqlite, libpqxx
|
|
||||||
, gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt
|
|
||||||
, guile, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json
|
|
||||||
, docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar
|
|
||||||
, rpm, dpkg, cdrkit, pixz, lib, fetchpatch, boost, autoreconfHook
|
|
||||||
}:
|
|
||||||
|
|
||||||
with stdenv;
|
|
||||||
|
|
||||||
if lib.versions.major nix.version == "1"
|
|
||||||
then throw "This Hydra version doesn't support Nix 1.x"
|
|
||||||
else
|
|
||||||
|
|
||||||
let
|
|
||||||
isGreaterNix20 = with lib.versions;
|
|
||||||
let
|
|
||||||
inherit (nix) version;
|
|
||||||
inherit (lib) toInt;
|
|
||||||
in major version == "2" && toInt (minor version) >= 1 || toInt (major version) > 2;
|
|
||||||
|
|
||||||
perlDeps = buildEnv {
|
|
||||||
name = "hydra-perl-deps";
|
|
||||||
paths = with perlPackages;
|
|
||||||
[ ModulePluggable
|
|
||||||
CatalystActionREST
|
|
||||||
CatalystAuthenticationStoreDBIxClass
|
|
||||||
CatalystDevel
|
|
||||||
CatalystDispatchTypeRegex
|
|
||||||
CatalystPluginAccessLog
|
|
||||||
CatalystPluginAuthorizationRoles
|
|
||||||
CatalystPluginCaptcha
|
|
||||||
CatalystPluginSessionStateCookie
|
|
||||||
CatalystPluginSessionStoreFastMmap
|
|
||||||
CatalystPluginStackTrace
|
|
||||||
CatalystRuntime
|
|
||||||
CatalystTraitForRequestProxyBase
|
|
||||||
CatalystViewDownload
|
|
||||||
CatalystViewJSON
|
|
||||||
CatalystViewTT
|
|
||||||
CatalystXScriptServerStarman
|
|
||||||
CatalystXRoleApplicator
|
|
||||||
CryptRandPasswd
|
|
||||||
DBDPg
|
|
||||||
DBDSQLite
|
|
||||||
DataDump
|
|
||||||
DateTime
|
|
||||||
DigestSHA1
|
|
||||||
EmailMIME
|
|
||||||
EmailSender
|
|
||||||
FileSlurp
|
|
||||||
IOCompress
|
|
||||||
IPCRun
|
|
||||||
JSON
|
|
||||||
JSONAny
|
|
||||||
JSONXS
|
|
||||||
LWP
|
|
||||||
LWPProtocolHttps
|
|
||||||
NetAmazonS3
|
|
||||||
NetStatsd
|
|
||||||
PadWalker
|
|
||||||
Readonly
|
|
||||||
SQLSplitStatement
|
|
||||||
SetScalar
|
|
||||||
Starman
|
|
||||||
SysHostnameLong
|
|
||||||
TextDiff
|
|
||||||
TextTable
|
|
||||||
XMLSimple
|
|
||||||
nix
|
|
||||||
nix.perl-bindings
|
|
||||||
git
|
|
||||||
boehmgc
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in releaseTools.nixBuild rec {
|
|
||||||
name = "hydra-${version}";
|
|
||||||
version = "2019-04-01mlabs";
|
|
||||||
|
|
||||||
inherit stdenv;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "m-labs";
|
|
||||||
repo = "hydra";
|
|
||||||
rev = "dbe142aba7606ea6e4b9edddbecd21e42cec95cd";
|
|
||||||
sha256 = "1jc0rfp580zkxmjhd73xz47sv18d967j7fy5fkr57dr8r4x49r7g";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs =
|
|
||||||
[ makeWrapper autoconf automake libtool unzip nukeReferences sqlite libpqxx
|
|
||||||
gitAndTools.topGit mercurial darcs subversion bazaar openssl bzip2 libxslt
|
|
||||||
guile # optional, for Guile + Guix support
|
|
||||||
perlDeps perl nix
|
|
||||||
postgresql # for running the tests
|
|
||||||
nlohmann_json
|
|
||||||
] ++ lib.optionals isGreaterNix20 [ boost ];
|
|
||||||
|
|
||||||
hydraPath = lib.makeBinPath (
|
|
||||||
[ sqlite subversion openssh nix coreutils findutils pixz
|
|
||||||
gzip bzip2 lzma gnutar unzip git gitAndTools.topGit mercurial darcs gnused bazaar
|
|
||||||
] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
|
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
|
||||||
|
|
||||||
# adds a patch which ensures compatibility with the API of Nix 2.0.
|
|
||||||
# it has been reverted in https://github.com/NixOS/hydra/commit/162d671c48a418bd10a8a171ca36787ef3695a44,
|
|
||||||
# for Nix 2.1/unstable compatibility. Reapplying helps if Nix 2.0 is used to keep the build functional.
|
|
||||||
patches = lib.optionals (!isGreaterNix20) [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/NixOS/hydra/commit/08de434bdd0b0a22abc2081be6064a6c846d3920.patch";
|
|
||||||
sha256 = "0kz77njp5ynn9l81g3q8zrryvnsr06nk3iw0a60187wxqzf5fmf8";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
|
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = [ "-pthread" ];
|
|
||||||
|
|
||||||
shellHook = ''
|
|
||||||
PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
|
|
||||||
PERL5LIB=$(pwd)/src/lib:$PERL5LIB;
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
preCheck = ''
|
|
||||||
patchShebangs .
|
|
||||||
export LOGNAME=''${LOGNAME:-foo}
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
for i in $out/bin/*; do
|
|
||||||
read -n 4 chars < $i
|
|
||||||
if [[ $chars =~ ELF ]]; then continue; fi
|
|
||||||
wrapProgram $i \
|
|
||||||
--prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
|
|
||||||
--prefix PATH ':' $out/bin:$hydraPath \
|
|
||||||
--set HYDRA_RELEASE ${version} \
|
|
||||||
--set HYDRA_HOME $out/libexec/hydra \
|
|
||||||
--set NIX_RELEASE ${nix.name or "unknown"}
|
|
||||||
done
|
|
||||||
''; # */
|
|
||||||
|
|
||||||
dontStrip = true;
|
|
||||||
|
|
||||||
passthru.perlDeps = perlDeps;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Nix-based continuous build system";
|
|
||||||
license = licenses.gpl3;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ ma27 ];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue