mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 17:03:01 +00:00
github-runner: nixfmt-rfc-style
This commit is contained in:
parent
930f9daf23
commit
bf1088cf5a
@ -1,20 +1,21 @@
|
||||
{ buildDotnetModule
|
||||
, darwin
|
||||
, dotnetCorePackages
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, git
|
||||
, glibc
|
||||
, glibcLocales
|
||||
, lib
|
||||
, nixosTests
|
||||
, stdenv
|
||||
, which
|
||||
, buildPackages
|
||||
, runtimeShell
|
||||
{
|
||||
buildDotnetModule,
|
||||
darwin,
|
||||
dotnetCorePackages,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
git,
|
||||
glibc,
|
||||
glibcLocales,
|
||||
lib,
|
||||
nixosTests,
|
||||
stdenv,
|
||||
which,
|
||||
buildPackages,
|
||||
runtimeShell,
|
||||
# List of Node.js runtimes the package should support
|
||||
, nodeRuntimes ? [ "node20" ]
|
||||
, nodejs_20
|
||||
nodeRuntimes ? [ "node20" ],
|
||||
nodejs_20,
|
||||
}:
|
||||
|
||||
# Node.js runtimes supported by upstream
|
||||
@ -81,18 +82,22 @@ buildDotnetModule rec {
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Ignore changes to src/Runner.Sdk/BuildConstants.cs
|
||||
substituteInPlace src/dir.proj \
|
||||
--replace 'git update-index --assume-unchanged ./Runner.Sdk/BuildConstants.cs' \
|
||||
'true'
|
||||
'' + lib.optionalString (nodeRuntimes == [ "node20" ]) ''
|
||||
postPatch =
|
||||
''
|
||||
# Ignore changes to src/Runner.Sdk/BuildConstants.cs
|
||||
substituteInPlace src/dir.proj \
|
||||
--replace 'git update-index --assume-unchanged ./Runner.Sdk/BuildConstants.cs' \
|
||||
'true'
|
||||
''
|
||||
+ lib.optionalString (nodeRuntimes == [ "node20" ]) ''
|
||||
substituteInPlace src/Runner.Common/Util/NodeUtil.cs \
|
||||
--replace-fail '_defaultNodeVersion = "node16"' '_defaultNodeVersion = "node20"'
|
||||
'';
|
||||
|
||||
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = isNull glibcLocales;
|
||||
LOCALE_ARCHIVE = lib.optionalString (!DOTNET_SYSTEM_GLOBALIZATION_INVARIANT) "${glibcLocales}/lib/locale/locale-archive";
|
||||
LOCALE_ARCHIVE = lib.optionalString (
|
||||
!DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
|
||||
) "${glibcLocales}/lib/locale/locale-archive";
|
||||
|
||||
postConfigure = ''
|
||||
# Generate src/Runner.Sdk/BuildConstants.cs
|
||||
@ -105,19 +110,23 @@ buildDotnetModule rec {
|
||||
src/dir.proj
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
which
|
||||
git
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||
darwin.autoSignDarwinBinariesHook
|
||||
];
|
||||
nativeBuildInputs =
|
||||
[
|
||||
which
|
||||
git
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||
darwin.autoSignDarwinBinariesHook
|
||||
];
|
||||
|
||||
buildInputs = [ stdenv.cc.cc.lib ];
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_6_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_6_0;
|
||||
|
||||
dotnetFlags = [ "-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" ];
|
||||
dotnetFlags = [
|
||||
"-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}"
|
||||
];
|
||||
|
||||
# As given here: https://github.com/actions/runner/blob/0befa62/src/dir.proj#L33-L41
|
||||
projectFile = [
|
||||
@ -204,70 +213,79 @@ buildDotnetModule rec {
|
||||
|
||||
testProjectFile = [ "src/Test/Test.csproj" ];
|
||||
|
||||
preCheck = ''
|
||||
mkdir -p _layout/externals
|
||||
'' + lib.optionalString (lib.elem "node20" nodeRuntimes) ''
|
||||
ln -s ${nodejs_20} _layout/externals/node20
|
||||
'';
|
||||
preCheck =
|
||||
''
|
||||
mkdir -p _layout/externals
|
||||
''
|
||||
+ lib.optionalString (lib.elem "node20" nodeRuntimes) ''
|
||||
ln -s ${nodejs_20} _layout/externals/node20
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/bin
|
||||
postInstall =
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
|
||||
install -m755 src/Misc/layoutbin/runsvc.sh $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutroot/run.sh $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutroot/run-helper.sh.template $out/lib/github-runner/run-helper.sh
|
||||
install -m755 src/Misc/layoutroot/config.sh $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutroot/env.sh $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutbin/runsvc.sh $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutroot/run.sh $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutroot/run-helper.sh.template $out/lib/github-runner/run-helper.sh
|
||||
install -m755 src/Misc/layoutroot/config.sh $out/lib/github-runner
|
||||
install -m755 src/Misc/layoutroot/env.sh $out/lib/github-runner
|
||||
|
||||
# env.sh is patched to not require any wrapping
|
||||
ln -sr "$out/lib/github-runner/env.sh" "$out/bin/"
|
||||
# env.sh is patched to not require any wrapping
|
||||
ln -sr "$out/lib/github-runner/env.sh" "$out/bin/"
|
||||
|
||||
substituteInPlace $out/lib/github-runner/config.sh \
|
||||
--replace './bin/Runner.Listener' "$out/bin/Runner.Listener"
|
||||
'' + lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace $out/lib/github-runner/config.sh \
|
||||
--replace 'command -v ldd' 'command -v ${glibc.bin}/bin/ldd' \
|
||||
--replace 'ldd ./bin' '${glibc.bin}/bin/ldd ${dotnet-runtime}/shared/Microsoft.NETCore.App/${dotnet-runtime.version}/' \
|
||||
--replace '/sbin/ldconfig' '${glibc.bin}/bin/ldconfig'
|
||||
'' + ''
|
||||
# Remove uneeded copy for run-helper template
|
||||
substituteInPlace $out/lib/github-runner/run.sh --replace 'cp -f "$DIR"/run-helper.sh.template "$DIR"/run-helper.sh' ' '
|
||||
substituteInPlace $out/lib/github-runner/run-helper.sh --replace '"$DIR"/bin/' '"$DIR"/'
|
||||
substituteInPlace $out/lib/github-runner/config.sh \
|
||||
--replace './bin/Runner.Listener' "$out/bin/Runner.Listener"
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace $out/lib/github-runner/config.sh \
|
||||
--replace 'command -v ldd' 'command -v ${glibc.bin}/bin/ldd' \
|
||||
--replace 'ldd ./bin' '${glibc.bin}/bin/ldd ${dotnet-runtime}/shared/Microsoft.NETCore.App/${dotnet-runtime.version}/' \
|
||||
--replace '/sbin/ldconfig' '${glibc.bin}/bin/ldconfig'
|
||||
''
|
||||
+ ''
|
||||
# Remove uneeded copy for run-helper template
|
||||
substituteInPlace $out/lib/github-runner/run.sh --replace 'cp -f "$DIR"/run-helper.sh.template "$DIR"/run-helper.sh' ' '
|
||||
substituteInPlace $out/lib/github-runner/run-helper.sh --replace '"$DIR"/bin/' '"$DIR"/'
|
||||
|
||||
# Make paths absolute
|
||||
substituteInPlace $out/lib/github-runner/runsvc.sh \
|
||||
--replace './externals' "$out/lib/externals" \
|
||||
--replace './bin/RunnerService.js' "$out/lib/github-runner/RunnerService.js"
|
||||
# Make paths absolute
|
||||
substituteInPlace $out/lib/github-runner/runsvc.sh \
|
||||
--replace './externals' "$out/lib/externals" \
|
||||
--replace './bin/RunnerService.js' "$out/lib/github-runner/RunnerService.js"
|
||||
|
||||
# The upstream package includes Node and expects it at the path
|
||||
# externals/node$version. As opposed to the official releases, we don't
|
||||
# link the Alpine Node flavors.
|
||||
mkdir -p $out/lib/externals
|
||||
'' + lib.optionalString (lib.elem "node20" nodeRuntimes) ''
|
||||
ln -s ${nodejs_20} $out/lib/externals/node20
|
||||
'' + ''
|
||||
# Install Nodejs scripts called from workflows
|
||||
install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js
|
||||
mkdir -p $out/lib/github-runner/checkScripts
|
||||
install src/Misc/layoutbin/checkScripts/* $out/lib/github-runner/checkScripts/
|
||||
'' + lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
# Wrap explicitly to, e.g., prevent extra entries for LD_LIBRARY_PATH
|
||||
makeWrapperArgs=()
|
||||
# The upstream package includes Node and expects it at the path
|
||||
# externals/node$version. As opposed to the official releases, we don't
|
||||
# link the Alpine Node flavors.
|
||||
mkdir -p $out/lib/externals
|
||||
''
|
||||
+ lib.optionalString (lib.elem "node20" nodeRuntimes) ''
|
||||
ln -s ${nodejs_20} $out/lib/externals/node20
|
||||
''
|
||||
+ ''
|
||||
# Install Nodejs scripts called from workflows
|
||||
install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js
|
||||
mkdir -p $out/lib/github-runner/checkScripts
|
||||
install src/Misc/layoutbin/checkScripts/* $out/lib/github-runner/checkScripts/
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
# Wrap explicitly to, e.g., prevent extra entries for LD_LIBRARY_PATH
|
||||
makeWrapperArgs=()
|
||||
|
||||
# We don't wrap with libicu
|
||||
substituteInPlace $out/lib/github-runner/config.sh \
|
||||
--replace '$LDCONFIG_COMMAND -NXv ''${libpath//:/ }' 'echo libicu'
|
||||
'' + ''
|
||||
# XXX: Using the corresponding Nix argument does not work as expected:
|
||||
# https://github.com/NixOS/nixpkgs/issues/218449
|
||||
# Common wrapper args for `executables`
|
||||
makeWrapperArgs+=(
|
||||
--run 'export RUNNER_ROOT="''${RUNNER_ROOT:-"$HOME/.github-runner"}"'
|
||||
--run 'mkdir -p "$RUNNER_ROOT"'
|
||||
--chdir "$out"
|
||||
)
|
||||
'';
|
||||
# We don't wrap with libicu
|
||||
substituteInPlace $out/lib/github-runner/config.sh \
|
||||
--replace '$LDCONFIG_COMMAND -NXv ''${libpath//:/ }' 'echo libicu'
|
||||
''
|
||||
+ ''
|
||||
# XXX: Using the corresponding Nix argument does not work as expected:
|
||||
# https://github.com/NixOS/nixpkgs/issues/218449
|
||||
# Common wrapper args for `executables`
|
||||
makeWrapperArgs+=(
|
||||
--run 'export RUNNER_ROOT="''${RUNNER_ROOT:-"$HOME/.github-runner"}"'
|
||||
--run 'mkdir -p "$RUNNER_ROOT"'
|
||||
--chdir "$out"
|
||||
)
|
||||
'';
|
||||
|
||||
# List of files to wrap
|
||||
executables = [
|
||||
@ -313,8 +331,18 @@ buildDotnetModule rec {
|
||||
description = "Self-hosted runner for GitHub Actions";
|
||||
homepage = "https://github.com/actions/runner";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ veehaitch kfollesdal aanderse zimbatm ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
maintainers = with maintainers; [
|
||||
veehaitch
|
||||
kfollesdal
|
||||
aanderse
|
||||
zimbatm
|
||||
];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user