diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix index 8eb2ab61b487..e784e3fe330e 100644 --- a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix @@ -14,6 +14,7 @@ , lttng-ust , makeWrapper , nodejs-12_x +, nodejs-16_x , openssl , stdenv , zlib @@ -29,18 +30,21 @@ let nugetSource = linkFarm "nuget-packages" nugetPackages; dotnetSdk = dotnetCorePackages.sdk_3_1; - runtimeId = "linux-x64"; + runtimeId = + if stdenv.isAarch64 + then "linux-arm64" + else "linux-x64"; fakeSha1 = "0000000000000000000000000000000000000000"; in stdenv.mkDerivation rec { pname = "github-runner"; - version = "2.283.3"; + version = "2.285.1"; src = fetchFromGitHub { owner = "actions"; repo = "runner"; rev = "v${version}"; - sha256 = "sha256-B2dn3AIGk+xMFqRsKv4pvlZ6K4xySsS0klk8vN8giso="; + hash = "sha256-SlKUuebsoZ9OgYuDTNOlY1KMg01LFSFazrLCctiFq3A="; }; nativeBuildInputs = [ @@ -139,6 +143,9 @@ stdenv.mkDerivation rec { disabledTests = [ # Self-updating is patched out, hence this test will fail "FullyQualifiedName!=GitHub.Runner.Common.Tests.Listener.RunnerL0.TestRunOnceHandleUpdateMessage" + ] ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [ + # "JavaScript Actions in Alpine containers are only supported on x64 Linux runners. Detected Linux Arm64" + "FullyQualifiedName!=GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNodeRuntimeVersionInAlpineContainerAsync" ] ++ map # Online tests (x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.Worker.ActionManagerL0.PrepareActions_${x}") @@ -186,6 +193,7 @@ stdenv.mkDerivation rec { mkdir -p _layout/externals ln -s ${nodejs-12_x} _layout/externals/node12 + ln -s ${nodejs-16_x} _layout/externals/node16 # BUILDCONFIG needs to be "Debug" dotnet msbuild \ @@ -227,11 +235,17 @@ stdenv.mkDerivation rec { --replace './externals' "$out/externals" \ --replace './bin' "$out/lib" - # The upstream package includes Node 12 and expects it at the path - # externals/node12. As opposed to the official releases, we don't - # link the Alpine Node flavor. + # The upstream package includes Node {12,16} and expects it at the path + # externals/node{12,16}. As opposed to the official releases, we don't + # link the Alpine Node flavors. mkdir -p $out/externals ln -s ${nodejs-12_x} $out/externals/node12 + ln -s ${nodejs-16_x} $out/externals/node16 + + # Install Nodejs scripts called from workflows + install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/hashFiles/index.js + mkdir -p $out/lib/checkScripts + install src/Misc/layoutbin/checkScripts/* $out/lib/checkScripts/ runHook postInstall ''; @@ -271,7 +285,7 @@ stdenv.mkDerivation rec { description = "Self-hosted runner for GitHub Actions"; homepage = "https://github.com/actions/runner"; license = licenses.mit; - maintainers = with maintainers; [ veehaitch ]; - platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ veehaitch newam ]; + platforms = [ "x86_64-linux" "aarch64-linux" ]; }; } |