Merge remote-tracking branch 'origin/master' into staging-next

+453 -337
+1 -1
nixos/modules/services/continuous-integration/github-runner/service.nix
··· 149 149 else 150 150 args+=(--token "$token") 151 151 fi 152 - ${cfg.package}/bin/config.sh "''${args[@]}" 152 + ${cfg.package}/bin/Runner.Listener configure "''${args[@]}" 153 153 # Move the automatically created _diag dir to the logs dir 154 154 mkdir -p "$STATE_DIRECTORY/_diag" 155 155 cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/"
+1
nixos/tests/all-tests.nix
··· 244 244 ghostunnel = handleTest ./ghostunnel.nix {}; 245 245 gitdaemon = handleTest ./gitdaemon.nix {}; 246 246 gitea = handleTest ./gitea.nix { giteaPackage = pkgs.gitea; }; 247 + github-runner = handleTest ./github-runner.nix {}; 247 248 gitlab = handleTest ./gitlab.nix {}; 248 249 gitolite = handleTest ./gitolite.nix {}; 249 250 gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {};
+37
nixos/tests/github-runner.nix
··· 1 + import ./make-test-python.nix ({ pkgs, ... }: 2 + { 3 + name = "github-runner"; 4 + meta = with pkgs.lib.maintainers; { 5 + maintainers = [ veehaitch ]; 6 + }; 7 + nodes.machine = { pkgs, ... }: { 8 + services.github-runners.test = { 9 + enable = true; 10 + url = "https://github.com/yaxitech"; 11 + tokenFile = builtins.toFile "github-runner.token" "not-so-secret"; 12 + }; 13 + 14 + systemd.services.dummy-github-com = { 15 + wantedBy = [ "multi-user.target" ]; 16 + before = [ "github-runner-test.service" ]; 17 + script = "${pkgs.netcat}/bin/nc -Fl 443 | true && touch /tmp/registration-connect"; 18 + }; 19 + networking.hosts."127.0.0.1" = [ "api.github.com" ]; 20 + }; 21 + 22 + testScript = '' 23 + start_all() 24 + 25 + machine.wait_for_unit("dummy-github-com") 26 + 27 + try: 28 + machine.wait_for_unit("github-runner-test") 29 + except Exception: 30 + pass 31 + 32 + out = machine.succeed("journalctl -u github-runner-test") 33 + assert "Self-hosted runner registration" in out, "did not read runner registration header" 34 + 35 + machine.wait_until_succeeds("test -f /tmp/registration-connect") 36 + ''; 37 + })
+35
pkgs/applications/display-managers/greetd/regreet.nix
··· 1 + { lib 2 + , rustPlatform 3 + , fetchFromGitHub 4 + , pkg-config 5 + , glib 6 + , gtk4 7 + , pango 8 + }: 9 + 10 + rustPlatform.buildRustPackage { 11 + pname = "regreet"; 12 + version = "unstable-2023-02-27"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "rharish101"; 16 + repo = "ReGreet"; 17 + rev = "2bbabe90f112b4feeb0aea516c265daaec8ccf2a"; 18 + hash = "sha256-71ji4x/NUE4qmBuO5PkWTPE1a0uPXqJSwW1Ai1amPJE="; 19 + }; 20 + 21 + cargoHash = "sha256-rz2eMMhoMtzBXCH6ZJOvGuYLeHSWga+Ebc4+ZO8Kk1g="; 22 + 23 + buildFeatures = [ "gtk4_8" ]; 24 + 25 + nativeBuildInputs = [ pkg-config ]; 26 + buildInputs = [ glib gtk4 pango ]; 27 + 28 + meta = with lib; { 29 + description = "Clean and customizable greeter for greetd"; 30 + homepage = "https://github.com/rharish101/ReGreet"; 31 + license = licenses.gpl3Plus; 32 + maintainers = with maintainers; [ fufexan ]; 33 + platforms = platforms.linux; 34 + }; 35 + }
+3 -3
pkgs/applications/networking/cluster/acorn/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "acorn"; 5 - version = "0.5.1"; 5 + version = "0.6.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "acorn-io"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - hash = "sha256-9+jI3GBRuX06+aN8C8C3K72kKtQVwmfAwhYLViuERxk="; 11 + hash = "sha256-X4EXF6t6RzjHCbo2+oB69sFoqeRc5blSmB7x1iQCYIA="; 12 12 }; 13 13 14 - vendorHash = "sha256-t/q94B+ihcHh/XFHs1Z9yQTwoFKv/nkhIDykymGNA2w="; 14 + vendorHash = "sha256-cx+7vbVpoeNwE4mNaQKuguALObyCrEA7EQPdnJ0H9mM="; 15 15 16 16 ldflags = [ 17 17 "-s"
+99 -33
pkgs/applications/networking/sniffers/wireshark/default.nix
··· 1 - { lib, stdenv, buildPackages, fetchurl, pkg-config, pcre2, perl, flex, bison 2 - , gettext, libpcap, libnl, c-ares, gnutls, libgcrypt, libgpg-error, geoip, openssl 3 - , lua5, python3, libcap, glib, libssh, nghttp2, zlib, cmake, makeWrapper, wrapGAppsHook 4 - , withQt ? true, qt5 ? null 5 - , ApplicationServices, SystemConfiguration, gmp 1 + { lib 2 + , stdenv 3 + , buildPackages 4 + , fetchFromGitLab 5 + , pkg-config 6 + , pcre2 7 + , perl 8 + , flex 9 + , bison 10 + , gettext 11 + , libpcap 12 + , libnl 13 + , c-ares 14 + , gnutls 15 + , libgcrypt 16 + , libgpg-error 17 + , libmaxminddb 18 + , libopus 19 + , bcg729 20 + , spandsp3 21 + , libkrb5 22 + , speexdsp 23 + , libsmi 24 + , lz4 25 + , snappy 26 + , zstd 27 + , minizip 28 + , sbc 29 + , openssl 30 + , lua5 31 + , python3 32 + , libcap 33 + , glib 34 + , libssh 35 + , nghttp2 36 + , zlib 37 + , cmake 38 + , ninja 39 + , makeWrapper 40 + , wrapGAppsHook 41 + , withQt ? true 42 + , qt5 ? null 43 + , ApplicationServices 44 + , SystemConfiguration 45 + , gmp 6 46 , asciidoctor 7 47 }: 8 48 9 - assert withQt -> qt5 != null; 49 + assert withQt -> qt5 != null; 10 50 11 51 let 12 - version = "4.0.3"; 52 + version = "4.0.4"; 13 53 variant = if withQt then "qt" else "cli"; 14 - 15 - in stdenv.mkDerivation { 54 + in 55 + stdenv.mkDerivation { 16 56 pname = "wireshark-${variant}"; 17 57 inherit version; 18 58 outputs = [ "out" "dev" ]; 19 59 20 - src = fetchurl { 21 - url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; 22 - sha256 = "sha256-bFHhW8wK+5NzTmhtv/NU/9FZ9XC9KQS8u61vP+t+lRE="; 60 + src = fetchFromGitLab { 61 + repo = "wireshark"; 62 + owner = "wireshark"; 63 + rev = "v${version}"; 64 + hash = "sha256-x7McplQVdLczTov+u9eqmT1Ons22KqRsCN65pUuwYGw="; 23 65 }; 24 66 25 67 cmakeFlags = [ ··· 36 78 # Avoid referencing -dev paths because of debug assertions. 37 79 env.NIX_CFLAGS_COMPILE = toString [ "-DQT_NO_DEBUG" ]; 38 80 39 - nativeBuildInputs = [ asciidoctor bison cmake flex makeWrapper pkg-config python3 perl ] 81 + nativeBuildInputs = [ asciidoctor bison cmake ninja flex makeWrapper pkg-config python3 perl ] 40 82 ++ lib.optionals withQt [ qt5.wrapQtAppsHook wrapGAppsHook ]; 41 83 42 84 depsBuildBuild = [ buildPackages.stdenv.cc ]; 43 85 44 86 buildInputs = [ 45 - gettext pcre2 libpcap lua5 libssh nghttp2 openssl libgcrypt 46 - libgpg-error gnutls geoip c-ares glib zlib 47 - ] ++ lib.optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools qtwayland ]) 48 - ++ lib.optionals stdenv.isLinux [ libcap libnl ] 49 - ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ] 50 - ++ lib.optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]); 87 + gettext 88 + pcre2 89 + libpcap 90 + lua5 91 + libssh 92 + nghttp2 93 + openssl 94 + libgcrypt 95 + libgpg-error 96 + gnutls 97 + libmaxminddb 98 + libopus 99 + bcg729 100 + spandsp3 101 + libkrb5 102 + speexdsp 103 + libsmi 104 + lz4 105 + snappy 106 + zstd 107 + minizip 108 + c-ares 109 + glib 110 + zlib 111 + ] ++ lib.optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ]) 112 + ++ lib.optionals (withQt && stdenv.isLinux) [ qt5.qtwayland ] 113 + ++ lib.optionals stdenv.isLinux [ libcap libnl sbc ] 114 + ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ] 115 + ++ lib.optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]); 51 116 52 117 strictDeps = true; 53 118 ··· 70 135 install_name_tool -change "$dylib" "$out/lib/$dylib" "$f" 71 136 done 72 137 done 73 - '' else lib.optionalString withQt '' 74 - pwd 75 - install -Dm644 -t $out/share/applications ../resources/freedesktop/org.wireshark.Wireshark.desktop 138 + '' else 139 + lib.optionalString withQt '' 140 + pwd 141 + install -Dm644 -t $out/share/applications ../resources/freedesktop/org.wireshark.Wireshark.desktop 76 142 77 - install -Dm644 ../resources/icons/wsicon.svg $out/share/icons/wireshark.svg 78 - mkdir -pv $dev/include/{epan/{wmem,ftypes,dfilter},wsutil/wmem,wiretap} 143 + install -Dm644 ../resources/icons/wsicon.svg $out/share/icons/wireshark.svg 144 + mkdir -pv $dev/include/{epan/{wmem,ftypes,dfilter},wsutil/wmem,wiretap} 79 145 80 - cp config.h $dev/include/wireshark/ 81 - cp ../epan/*.h $dev/include/epan/ 82 - cp ../epan/ftypes/*.h $dev/include/epan/ftypes/ 83 - cp ../epan/dfilter/*.h $dev/include/epan/dfilter/ 84 - cp ../include/ws_*.h $dev/include/ 85 - cp ../wiretap/*.h $dev/include/wiretap/ 86 - cp ../wsutil/*.h $dev/include/wsutil/ 87 - cp ../wsutil/wmem/*.h $dev/include/wsutil/wmem/ 88 - ''); 146 + cp config.h $dev/include/wireshark/ 147 + cp ../epan/*.h $dev/include/epan/ 148 + cp ../epan/ftypes/*.h $dev/include/epan/ftypes/ 149 + cp ../epan/dfilter/*.h $dev/include/epan/dfilter/ 150 + cp ../include/ws_*.h $dev/include/ 151 + cp ../wiretap/*.h $dev/include/wiretap/ 152 + cp ../wsutil/*.h $dev/include/wsutil/ 153 + cp ../wsutil/wmem/*.h $dev/include/wsutil/wmem/ 154 + ''); 89 155 90 156 dontFixCmake = true; 91 157
+14 -10
pkgs/data/themes/orchis-theme/default.nix
··· 6 6 , gtk-engine-murrine 7 7 , sassc 8 8 , border-radius ? null # Suggested: 2 < value < 16 9 - , tweaks ? [ ] # can be "solid" "compact" "black" "primary" 9 + , tweaks ? [ ] # can be "solid" "compact" "black" "primary" "macos" "submenu" "nord|dracula" 10 10 , withWallpapers ? false 11 11 }: 12 12 13 13 let 14 - validTweaks = [ "solid" "compact" "black" "primary" ]; 15 - unknownTweaks = lib.subtractLists validTweaks tweaks; 14 + pname = "orchis-theme"; 15 + 16 + validTweaks = [ "solid" "compact" "black" "primary" "macos" "submenu" "nord" "dracula" ]; 17 + 18 + nordXorDracula = with builtins; lib.assertMsg (!(elem "nord" tweaks) || !(elem "dracula" tweaks)) '' 19 + ${pname}: dracula and nord cannot be mixed. Tweaks ${toString tweaks} 20 + ''; 16 21 in 17 - assert lib.assertMsg (unknownTweaks == [ ]) '' 18 - You entered wrong tweaks: ${toString unknownTweaks} 19 - Valid tweaks are: ${toString validTweaks} 20 - ''; 22 + 23 + assert nordXorDracula; 24 + lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks 21 25 22 26 stdenvNoCC.mkDerivation 23 27 rec { 24 - pname = "orchis-theme"; 25 - version = "2022-10-19"; 28 + inherit pname; 29 + version = "2023-02-26"; 26 30 27 31 src = fetchFromGitHub { 28 32 repo = "Orchis-theme"; 29 33 owner = "vinceliuice"; 30 34 rev = version; 31 - sha256 = "sha256-1lJUrWkb8IoUyCMn8J4Lwvs/pWsibrY0pSXrepuQcug="; 35 + sha256 = "sha256-Qk5MK8S8rIcwO7Kmze6eAl5qcwnrGsiWbn0WNIPjRnA="; 32 36 }; 33 37 34 38 nativeBuildInputs = [ gtk3 sassc ];
+3 -2
pkgs/development/python-modules/bpycv/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "bpycv"; 18 - version = "0.2.43"; 18 + version = "0.3.6"; 19 + format = "setuptools"; 19 20 20 21 src = fetchPypi { 21 22 inherit pname version; 22 - hash = "sha256-6LXhKuNkX3yKeZARLXmOVNAUQhJghtzKhnszJ1G/a8U="; 23 + hash = "sha256-4N4rCVhbfJx7H7jS88QR3EcRupISIhnLuZ+cgfwIzg4="; 23 24 }; 24 25 25 26 propagatedBuildInputs = [
+133 -228
pkgs/development/tools/continuous-integration/github-runner/default.nix
··· 1 1 { autoPatchelfHook 2 2 , autoSignDarwinBinariesHook 3 - , coreutils 4 - , curl 3 + , buildDotnetModule 5 4 , dotnetCorePackages 6 - , dotnetPackages 7 5 , fetchFromGitHub 8 - , fetchurl 6 + , fetchpatch 9 7 , git 10 8 , glibc 11 - , icu 12 - , libkrb5 9 + , glibcLocales 13 10 , lib 14 - , linkFarmFromDrvs 15 - , lttng-ust 16 - , makeWrapper 11 + , nixosTests 17 12 , nodejs-16_x 18 - , openssl 19 13 , stdenv 20 - , zlib 21 - , writeShellApplication 22 - , nuget-to-nix 14 + , which 23 15 }: 24 - let 25 - fetchNuGet = { pname, version, sha256 }: fetchurl { 26 - name = "${pname}.${version}.nupkg"; 27 - url = "https://www.nuget.org/api/v2/package/${pname}/${version}"; 28 - inherit sha256; 29 - }; 30 - 31 - nugetSource = linkFarmFromDrvs "nuget-packages" ( 32 - import ./deps.nix { inherit fetchNuGet; } 33 - ); 34 - 35 - dotnetSdk = dotnetCorePackages.sdk_6_0; 36 - # Map Nix systems to .NET runtime ids 37 - runtimeIds = { 38 - "x86_64-linux" = "linux-x64"; 39 - "aarch64-linux" = "linux-arm64"; 40 - "x86_64-darwin" = "osx-x64"; 41 - "aarch64-darwin" = "osx-arm64"; 42 - }; 43 - runtimeId = runtimeIds.${stdenv.system}; 44 - fakeSha1 = "0000000000000000000000000000000000000000"; 45 - in 46 - stdenv.mkDerivation rec { 16 + buildDotnetModule rec { 47 17 pname = "github-runner"; 48 18 version = "2.302.1"; 49 19 ··· 51 21 owner = "actions"; 52 22 repo = "runner"; 53 23 rev = "v${version}"; 54 - hash = "sha256-l7kGKhHpE5kEo8QMmwZKnG4cctj2INhnko7KfAXfrQ8="; 24 + hash = "sha256-hPZzqTJGwcBxajLjU0TuIQ2KLnDl9E66seuutm9JWDo="; 25 + # Required to obtain HEAD's Git commit hash 26 + leaveDotGit = true; 55 27 }; 56 28 57 - nativeBuildInputs = [ 58 - dotnetSdk 59 - dotnetPackages.Nuget 60 - makeWrapper 61 - ] ++ lib.optionals stdenv.isLinux [ 62 - autoPatchelfHook 63 - ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ 64 - autoSignDarwinBinariesHook 65 - ]; 66 - 67 - buildInputs = [ 68 - curl # libcurl.so.4 69 - libkrb5 # libgssapi_krb5.so.2 70 - stdenv.cc.cc.lib # libstdc++.so.6 71 - zlib # libz.so.1 72 - icu 73 - ] ++ lib.optionals stdenv.isLinux [ 74 - lttng-ust # liblttng-ust.so.0 75 - ]; 76 29 77 30 patches = [ 78 - # Don't run Git, no restore on build/test 79 - ./patches/dir-proj.patch 80 31 # Replace some paths that originally point to Nix's read-only store 81 32 ./patches/host-context-dirs.patch 82 33 # Use GetDirectory() to obtain "diag" dir 83 34 ./patches/use-get-directory-for-diag.patch 84 - # Don't try to install systemd service 85 - ./patches/dont-install-systemd-service.patch 35 + # Don't try to install service 36 + ./patches/dont-install-service.patch 37 + # Access `.env` and `.path` relative to `$RUNNER_ROOT`, if set 38 + ./patches/env-sh-use-runner-root.patch 39 + # Fix FHS path: https://github.com/actions/runner/pull/2464 40 + (fetchpatch { 41 + name = "ln-fhs.patch"; 42 + url = "https://github.com/actions/runner/commit/5ff0ce1.patch"; 43 + hash = "sha256-2Vg3cKZK3cE/OcPDZkdN2Ro2WgvduYTTwvNGxwCfXas="; 44 + }) 86 45 ]; 87 46 88 47 postPatch = '' 89 - # Relax the version requirement 90 - substituteInPlace src/global.json \ 91 - --replace '6.0.300' '${dotnetSdk.version}' 92 - 93 - # Disable specific tests 94 - substituteInPlace src/dir.proj \ 95 - --replace 'dotnet test Test/Test.csproj' \ 96 - "dotnet test Test/Test.csproj --filter '${lib.concatStringsSep "&amp;" (map (x: "FullyQualifiedName!=${x}") disabledTests)}'" 97 - 98 - # We don't use a Git checkout 48 + # Ignore changes to src/Runner.Sdk/BuildConstants.cs 99 49 substituteInPlace src/dir.proj \ 100 50 --replace 'git update-index --assume-unchanged ./Runner.Sdk/BuildConstants.cs' \ 101 - 'echo Patched out.' 102 - 103 - # Fix FHS path 104 - substituteInPlace src/Test/L0/Util/IOUtilL0.cs \ 105 - --replace '/bin/ln' '${coreutils}/bin/ln' 51 + 'true' 106 52 ''; 107 53 108 - DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = stdenv.isDarwin; 54 + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = isNull glibcLocales; 55 + LOCALE_ARCHIVE = lib.optionalString (!DOTNET_SYSTEM_GLOBALIZATION_INVARIANT) "${glibcLocales}/lib/locale/locale-archive"; 109 56 110 - configurePhase = '' 111 - runHook preConfigure 57 + postConfigure = '' 58 + # Generate src/Runner.Sdk/BuildConstants.cs 59 + dotnet msbuild \ 60 + -t:GenerateConstant \ 61 + -p:ContinuousIntegrationBuild=true \ 62 + -p:Deterministic=true \ 63 + -p:PackageRuntime="${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" \ 64 + -p:RunnerVersion="${version}" \ 65 + src/dir.proj 66 + ''; 112 67 113 - export HOME=$(mktemp -d) 114 - 115 - # Never use nuget.org 116 - nuget sources Disable -Name "nuget.org" 117 - 118 - # Restore the dependencies 119 - dotnet restore src/ActionsRunner.sln \ 120 - --runtime "${runtimeId}" \ 121 - --source "${dotnetSdk.packages}" \ 122 - --source "${nugetSource}" 68 + nativeBuildInputs = [ 69 + git 70 + which 71 + ] ++ lib.optionals stdenv.isLinux [ 72 + autoPatchelfHook 73 + ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ 74 + autoSignDarwinBinariesHook 75 + ]; 123 76 124 - runHook postConfigure 125 - ''; 77 + buildInputs = [ stdenv.cc.cc.lib ]; 126 78 127 - buildPhase = '' 128 - runHook preBuild 79 + dotnet-sdk = dotnetCorePackages.sdk_6_0; 80 + dotnet-runtime = dotnetCorePackages.runtime_6_0; 129 81 130 - dotnet msbuild \ 131 - -t:Build \ 132 - -p:PackageRuntime="${runtimeId}" \ 133 - -p:BUILDCONFIG="Release" \ 134 - -p:RunnerVersion="${version}" \ 135 - -p:GitInfoCommitHash="${fakeSha1}" \ 136 - src/dir.proj 82 + dotnetFlags = [ "-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" ]; 137 83 138 - runHook postBuild 139 - ''; 84 + # As given here: https://github.com/actions/runner/blob/0befa62/src/dir.proj#L33-L41 85 + projectFile = [ 86 + "src/Sdk/Sdk.csproj" 87 + "src/Runner.Common/Runner.Common.csproj" 88 + "src/Runner.Listener/Runner.Listener.csproj" 89 + "src/Runner.Worker/Runner.Worker.csproj" 90 + "src/Runner.PluginHost/Runner.PluginHost.csproj" 91 + "src/Runner.Sdk/Runner.Sdk.csproj" 92 + "src/Runner.Plugins/Runner.Plugins.csproj" 93 + ]; 94 + nugetDeps = ./deps.nix; 140 95 141 96 doCheck = true; 142 97 ··· 162 117 "CompositeActionWithActionfile_MaxLimit" 163 118 "CompositeActionWithActionfile_Node" 164 119 "DownloadActionFromGraph" 165 - "DownloadActionFromGraph_Legacy" 166 120 "NotPullOrBuildImagesMultipleTimes" 167 - "NotPullOrBuildImagesMultipleTimes_Legacy" 168 121 "RepositoryActionWithActionYamlFile_DockerHubImage" 169 - "RepositoryActionWithActionYamlFile_DockerHubImage_Legacy" 170 122 "RepositoryActionWithActionfileAndDockerfile" 171 - "RepositoryActionWithActionfileAndDockerfile_Legacy" 172 123 "RepositoryActionWithActionfile_DockerHubImage" 173 - "RepositoryActionWithActionfile_DockerHubImage_Legacy" 174 124 "RepositoryActionWithActionfile_Dockerfile" 175 - "RepositoryActionWithActionfile_Dockerfile_Legacy" 176 125 "RepositoryActionWithActionfile_DockerfileRelativePath" 177 - "RepositoryActionWithActionfile_DockerfileRelativePath_Legacy" 178 126 "RepositoryActionWithActionfile_Node" 179 - "RepositoryActionWithActionfile_Node_Legacy" 180 127 "RepositoryActionWithDockerfile" 181 - "RepositoryActionWithDockerfile_Legacy" 182 128 "RepositoryActionWithDockerfileInRelativePath" 183 - "RepositoryActionWithDockerfileInRelativePath_Legacy" 184 129 "RepositoryActionWithDockerfilePrepareActions_Repository" 185 130 "RepositoryActionWithInvalidWrapperActionfile_Node" 186 - "RepositoryActionWithInvalidWrapperActionfile_Node_Legacy" 187 131 "RepositoryActionWithWrapperActionfile_PreSteps" 188 - "RepositoryActionWithWrapperActionfile_PreSteps_Legacy" 189 132 ] 190 133 ++ map (x: "GitHub.Runner.Common.Tests.DotnetsdkDownloadScriptL0.${x}") [ 191 134 "EnsureDotnetsdkBashDownloadScriptUpToDate" ··· 208 151 "GitHub.Runner.Common.Tests.Worker.WorkerL0.DispatchCancellation" 209 152 "GitHub.Runner.Common.Tests.Worker.WorkerL0.DispatchRunNewJob" 210 153 ]; 211 - nativeCheckInputs = [ git ]; 212 154 213 - checkPhase = '' 214 - runHook preCheck 155 + testProjectFile = [ "src/Test/Test.csproj" ]; 215 156 157 + preCheck = '' 216 158 mkdir -p _layout/externals 217 159 ln -s ${nodejs-16_x} _layout/externals/node16 218 - 219 - printf 'Disabled tests:\n%s\n' '${lib.concatMapStringsSep "\n" (x: " - ${x}") disabledTests}' 220 - 221 - # BUILDCONFIG needs to be "Debug" 222 - dotnet msbuild \ 223 - -t:test \ 224 - -p:PackageRuntime="${runtimeId}" \ 225 - -p:BUILDCONFIG="Debug" \ 226 - -p:RunnerVersion="${version}" \ 227 - -p:GitInfoCommitHash="${fakeSha1}" \ 228 - src/dir.proj 229 - 230 - runHook postCheck 231 160 ''; 232 161 233 - installPhase = '' 234 - runHook preInstall 162 + postInstall = '' 163 + mkdir -p $out/bin 235 164 236 - # Copy the built binaries to lib/ instead of bin/ as they 237 - # have to be wrapped in the fixup phase to work 238 - mkdir -p $out/lib 239 - cp -r _layout/bin/. $out/lib/ 165 + install -m755 src/Misc/layoutbin/runsvc.sh $out/lib/github-runner 166 + install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/github-runner 167 + install -m755 src/Misc/layoutroot/run.sh $out/lib/github-runner 168 + install -m755 src/Misc/layoutroot/run-helper.sh.template $out/lib/github-runner/run-helper.sh 169 + install -m755 src/Misc/layoutroot/config.sh $out/lib/github-runner 170 + install -m755 src/Misc/layoutroot/env.sh $out/lib/github-runner 240 171 241 - # Delete debugging files 242 - find "$out/lib" -type f -name '*.pdb' -delete 172 + # env.sh is patched to not require any wrapping 173 + ln -sr "$out/lib/github-runner/env.sh" "$out/bin/" 243 174 244 - # Install the helper scripts to bin/ to resemble the upstream package 245 - mkdir -p $out/bin 246 - install -m755 src/Misc/layoutbin/runsvc.sh $out/bin/ 247 - install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/ 248 - install -m755 src/Misc/layoutroot/run.sh $out/lib/ 249 - install -m755 src/Misc/layoutroot/run-helper.sh.template $out/lib/run-helper.sh 250 - install -m755 src/Misc/layoutroot/config.sh $out/lib/ 251 - install -m755 src/Misc/layoutroot/env.sh $out/lib/ 252 - 253 - # Rewrite reference in helper scripts from bin/ to lib/ 254 - substituteInPlace $out/lib/run.sh --replace '"$DIR"/bin' '"$DIR"/lib' 255 - substituteInPlace $out/lib/config.sh --replace './bin' $out'/lib' \ 256 - --replace 'source ./env.sh' $out/bin/env.sh 175 + substituteInPlace $out/lib/github-runner/config.sh \ 176 + --replace './bin/Runner.Listener' "$out/bin/Runner.Listener" 257 177 '' + lib.optionalString stdenv.isLinux '' 258 - # Make binary paths absolute 259 - substituteInPlace $out/lib/config.sh \ 260 - --replace 'ldd' '${glibc.bin}/bin/ldd' \ 178 + substituteInPlace $out/lib/github-runner/config.sh \ 179 + --replace 'command -v ldd' 'command -v ${glibc.bin}/bin/ldd' \ 180 + --replace 'ldd ./bin' '${glibc.bin}/bin/ldd ${dotnet-runtime}/shared/Microsoft.NETCore.App/${dotnet-runtime.version}/' \ 261 181 --replace '/sbin/ldconfig' '${glibc.bin}/bin/ldconfig' 262 182 '' + '' 263 183 # Remove uneeded copy for run-helper template 264 - substituteInPlace $out/lib/run.sh --replace 'cp -f "$DIR"/run-helper.sh.template "$DIR"/run-helper.sh' ' ' 265 - substituteInPlace $out/lib/run-helper.sh --replace '"$DIR"/bin/' '"$DIR"/' 184 + substituteInPlace $out/lib/github-runner/run.sh --replace 'cp -f "$DIR"/run-helper.sh.template "$DIR"/run-helper.sh' ' ' 185 + substituteInPlace $out/lib/github-runner/run-helper.sh --replace '"$DIR"/bin/' '"$DIR"/' 266 186 267 187 # Make paths absolute 268 - substituteInPlace $out/bin/runsvc.sh \ 269 - --replace './externals' "$out/externals" \ 270 - --replace './bin' "$out/lib" 188 + substituteInPlace $out/lib/github-runner/runsvc.sh \ 189 + --replace './externals' "$out/lib/externals" \ 190 + --replace './bin/RunnerService.js' "$out/lib/github-runner/RunnerService.js" 271 191 272 - # The upstream package includes Node {12,16} and expects it at the path 273 - # externals/node{12,16}. As opposed to the official releases, we don't 192 + # The upstream package includes Node 16 and expects it at the path 193 + # externals/node16. As opposed to the official releases, we don't 274 194 # link the Alpine Node flavors. 275 - mkdir -p $out/externals 276 - ln -s ${nodejs-16_x} $out/externals/node16 195 + mkdir -p $out/lib/externals 196 + ln -s ${nodejs-16_x} $out/lib/externals/node16 277 197 278 198 # Install Nodejs scripts called from workflows 279 - install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/hashFiles/index.js 280 - mkdir -p $out/lib/checkScripts 281 - install src/Misc/layoutbin/checkScripts/* $out/lib/checkScripts/ 282 - 283 - runHook postInstall 284 - ''; 285 - 286 - # Stripping breaks the binaries 287 - dontStrip = true; 288 - 289 - preFixup = lib.optionalString stdenv.isLinux '' 290 - patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so 291 - ''; 292 - 293 - postFixup = '' 294 - fix_rpath() { 295 - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/lib/$1 296 - } 297 - wrap() { 298 - makeWrapper $out/lib/$1 $out/bin/$1 \ 299 - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (buildInputs ++ [ openssl ])} \ 300 - "''${@:2}" 301 - } 199 + install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js 200 + mkdir -p $out/lib/github-runner/checkScripts 201 + install src/Misc/layoutbin/checkScripts/* $out/lib/github-runner/checkScripts/ 302 202 '' + lib.optionalString stdenv.isLinux '' 303 - fix_rpath Runner.Listener 304 - fix_rpath Runner.PluginHost 305 - fix_rpath Runner.Worker 203 + # Wrap explicitly to, e.g., prevent extra entries for LD_LIBRARY_PATH 204 + makeWrapperArgs=() 205 + 206 + # We don't wrap with libicu 207 + substituteInPlace $out/lib/github-runner/config.sh \ 208 + --replace '$LDCONFIG_COMMAND -NXv ''${libpath//:/ }' 'echo libicu' 306 209 '' + '' 307 - wrap Runner.Listener 308 - wrap Runner.PluginHost 309 - wrap Runner.Worker 310 - wrap run.sh --run 'export RUNNER_ROOT=''${RUNNER_ROOT:-$HOME/.github-runner}' 311 - wrap env.sh --run 'cd $RUNNER_ROOT' 312 - 313 - wrap config.sh --run 'export RUNNER_ROOT=''${RUNNER_ROOT:-$HOME/.github-runner}' \ 314 - --run 'mkdir -p $RUNNER_ROOT' \ 315 - --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]} \ 316 - --chdir $out 210 + # XXX: Using the corresponding Nix argument does not work as expected: 211 + # https://github.com/NixOS/nixpkgs/issues/218449 212 + # Common wrapper args for `executables` 213 + makeWrapperArgs+=( 214 + --run 'export RUNNER_ROOT="''${RUNNER_ROOT:-"$HOME/.github-runner"}"' 215 + --run 'mkdir -p "$RUNNER_ROOT"' 216 + --chdir "$out" 217 + ) 317 218 ''; 318 219 319 - # Script to create deps.nix file for dotnet dependencies. Run it with 320 - # $(nix-build -A github-runner.passthru.createDepsFile)/bin/create-deps-file 321 - # 322 - # Default output path is /tmp/${pname}-deps.nix, but can be overridden with cli argument. 323 - # 324 - # Inspired by passthru.fetch-deps in pkgs/build-support/build-dotnet-module/default.nix 325 - passthru.createDepsFile = writeShellApplication { 326 - name = "create-deps-file"; 327 - runtimeInputs = [ coreutils dotnetSdk (nuget-to-nix.override { dotnet-sdk = dotnetSdk; }) ]; 328 - text = '' 329 - # Disable telemetry data 330 - export DOTNET_CLI_TELEMETRY_OPTOUT=1 220 + # List of files to wrap 221 + executables = [ 222 + "config.sh" 223 + "Runner.Listener" 224 + "Runner.PluginHost" 225 + "Runner.Worker" 226 + "run.sh" 227 + "runsvc.sh" 228 + ]; 331 229 332 - deps_file="$(realpath "''${1:-$(mktemp -t "${pname}-deps-XXXXXX.nix")}")" 230 + doInstallCheck = true; 231 + installCheckPhase = '' 232 + runHook preInstallCheck 333 233 334 - printf "\n* Setup workdir\n" 335 - workdir="$(mktemp -d /tmp/${pname}.XXX)" 336 - HOME="$workdir"/.fake-home 337 - cp -rT "${src}" "$workdir" 338 - chmod -R +w "$workdir" 339 - trap 'rm -rf "$workdir"' EXIT 234 + export RUNNER_ROOT="$TMPDIR" 235 + 236 + $out/bin/config.sh --help >/dev/null 237 + $out/bin/Runner.Listener --help >/dev/null 340 238 341 - pushd "$workdir" 239 + version=$($out/bin/Runner.Listener --version) 240 + if [[ "$version" != "${version}" ]]; then 241 + printf 'Unexpected version %s' "$version" 242 + exit 1 243 + fi 342 244 343 - mkdir nuget_pkgs 245 + commit=$($out/bin/Runner.Listener --commit) 246 + if [[ "$commit" != "$(git rev-parse HEAD)" ]]; then 247 + printf 'Unexpected commit %s' "$commit" 248 + exit 1 249 + fi 344 250 345 - ${lib.concatMapStrings (rid: '' 346 - printf "\n* Restore ${pname} (${rid}) dotnet project\n" 347 - dotnet restore src/ActionsRunner.sln --packages nuget_pkgs --no-cache --force --runtime "${rid}" 348 - '') (lib.attrValues runtimeIds)} 251 + runHook postInstallCheck 252 + ''; 349 253 350 - printf "\n* Make %s file\n" "$(basename "$deps_file")" 351 - nuget-to-nix "$workdir/nuget_pkgs" "${dotnetSdk.packages}" > "$deps_file" 352 - printf "\n* Dependency file writen to %s" "$deps_file" 353 - ''; 254 + passthru = { 255 + tests.smoke-test = nixosTests.github-runner; 256 + updateScript = ./update.sh; 354 257 }; 355 258 356 259 meta = with lib; { 260 + changelog = "https://github.com/actions/runner/releases/tag/v${version}"; 357 261 description = "Self-hosted runner for GitHub Actions"; 358 262 homepage = "https://github.com/actions/runner"; 359 263 license = licenses.mit; 360 264 maintainers = with maintainers; [ veehaitch newam kfollesdal aanderse zimbatm ]; 361 - platforms = attrNames runtimeIds; 265 + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 266 + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 362 267 }; 363 268 }
+3
pkgs/development/tools/continuous-integration/github-runner/deps.nix
··· 1 + # This file was automatically generated by passthru.fetch-deps. 2 + # Please dont edit it manually, your changes might get overwritten! 3 + 1 4 { fetchNuGet }: [ 2 5 (fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; }) 3 6 (fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "5.2.4"; sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj"; })
-45
pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch
··· 1 - From 5a850bb7946ce5c0620ac5f072d93a77cc064219 Mon Sep 17 00:00:00 2001 2 - From: Aaron Andersen <aaron@fosslib.net> 3 - Date: Thu, 29 Sep 2022 10:12:28 -0400 4 - Subject: [PATCH] [PATCH] Patch dir.proj 5 - 6 - Don't execute Git for GitInfoCommitHash property 7 - Don't restore for build target 8 - Don't restore for test target 9 - --- 10 - src/dir.proj | 8 ++------ 11 - 1 file changed, 2 insertions(+), 6 deletions(-) 12 - 13 - diff --git a/src/dir.proj b/src/dir.proj 14 - index 056a312..f029720 100644 15 - --- a/src/dir.proj 16 - +++ b/src/dir.proj 17 - @@ -2,9 +2,6 @@ 18 - <Project ToolsVersion="14.0" DefaultTargets="Build" 19 - xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 20 - <Target Name="GenerateConstant"> 21 - - <Exec Command="git rev-parse HEAD" ConsoleToMSBuild="true"> 22 - - <Output TaskParameter="ConsoleOutput" PropertyName="GitInfoCommitHash" /> 23 - - </Exec> 24 - <Message Text="Building $(Product): $(GitInfoCommitHash) --- $(PackageRuntime)" Importance="high"/> 25 - 26 - <ItemGroup> 27 - @@ -41,14 +38,13 @@ 28 - </ItemGroup> 29 - 30 - <Target Name="Build" DependsOnTargets="GenerateConstant"> 31 - - <MSBuild Targets="Restore" Projects="@(ProjectFiles)" StopOnFirstFailure="true" /> 32 - <MSBuild Targets="Publish" Projects="@(ProjectFiles)" BuildInParallel="false" StopOnFirstFailure="true" Properties="Configuration=$(BUILDCONFIG);PackageRuntime=$(PackageRuntime);Version=$(RunnerVersion);RuntimeIdentifier=$(PackageRuntime);PublishDir=$(MSBuildProjectDirectory)/../_layout/bin" /> 33 - <Exec Command="%22$(DesktopMSBuild)%22 Runner.Service/Windows/RunnerService.csproj /p:Configuration=$(BUILDCONFIG) /p:PackageRuntime=$(PackageRuntime) /p:OutputPath=%22$(MSBuildProjectDirectory)/../_layout/bin%22" ConsoleToMSBuild="true" Condition="'$(PackageRuntime)' == 'win-x64' Or '$(PackageRuntime)' == 'win-x86' Or '$(PackageRuntime)' == 'win-arm64'" /> 34 - </Target> 35 - 36 - <Target Name="Test" DependsOnTargets="GenerateConstant"> 37 - - <Exec Command="dotnet build Test/Test.csproj -c $(BUILDCONFIG) /p:PackageRuntime=$(PackageRuntime)" ConsoleToMSBuild="true" /> 38 - - <Exec Command="dotnet test Test/Test.csproj -c $(BUILDCONFIG) --no-build --logger:trx" ConsoleToMSBuild="true" /> 39 - + <Exec Command="dotnet build Test/Test.csproj --no-restore -c $(BUILDCONFIG) /p:PackageRuntime=$(PackageRuntime)" ConsoleToMSBuild="true" /> 40 - + <Exec Command="dotnet test Test/Test.csproj --no-restore -c $(BUILDCONFIG) --no-build --logger:trx" ConsoleToMSBuild="true" /> 41 - </Target> 42 - 43 - <Target Name="Layout" DependsOnTargets="Clean;Build"> 44 - -- 45 - 2.36.2
+28
pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-service.patch
··· 1 + From 369b3d98b44abbf061080ab1b17b22f99706ef69 Mon Sep 17 00:00:00 2001 2 + From: Vincent Haupert <mail@vincent-haupert.de> 3 + Date: Sun, 26 Feb 2023 12:55:38 +0100 4 + Subject: [PATCH] Don't generate service config on Linux and OSX 5 + 6 + --- 7 + src/Runner.Listener/Configuration/ConfigurationManager.cs | 5 ----- 8 + 1 file changed, 5 deletions(-) 9 + 10 + diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs 11 + index 392eb0e..4c75324 100644 12 + --- a/src/Runner.Listener/Configuration/ConfigurationManager.cs 13 + +++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs 14 + @@ -367,11 +367,6 @@ namespace GitHub.Runner.Listener.Configuration 15 + var serviceControlManager = HostContext.GetService<IWindowsServiceControlManager>(); 16 + serviceControlManager.ConfigureService(runnerSettings, command); 17 + } 18 + - 19 + -#elif OS_LINUX || OS_OSX 20 + - // generate service config script for OSX and Linux, GenerateScripts() will no-opt on windows. 21 + - var serviceControlManager = HostContext.GetService<ILinuxServiceControlManager>(); 22 + - serviceControlManager.GenerateScripts(runnerSettings); 23 + #endif 24 + } 25 + 26 + -- 27 + 2.38.1 28 +
-15
pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch
··· 1 - diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs 2 - index 8d08b06..bdfa3a2 100644 3 - --- a/src/Runner.Listener/Configuration/ConfigurationManager.cs 4 - +++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs 5 - @@ -320,10 +320,6 @@ namespace GitHub.Runner.Listener.Configuration 6 - serviceControlManager.ConfigureService(runnerSettings, command); 7 - } 8 - 9 - -#elif OS_LINUX || OS_OSX 10 - - // generate service config script for OSX and Linux, GenerateScripts() will no-opt on windows. 11 - - var serviceControlManager = HostContext.GetService<ILinuxServiceControlManager>(); 12 - - serviceControlManager.GenerateScripts(runnerSettings); 13 - #endif 14 - } 15 -
+76
pkgs/development/tools/continuous-integration/github-runner/patches/env-sh-use-runner-root.patch
··· 1 + From 84b2fcdf042771ae8adc0f59f1a3ecd9788a808d Mon Sep 17 00:00:00 2001 2 + From: Vincent Haupert <mail@vincent-haupert.de> 3 + Date: Sun, 26 Feb 2023 11:37:01 +0100 4 + Subject: [PATCH] Access `.env` and `.path` relative to `$RUNNER_ROOT`, if set 5 + 6 + --- 7 + src/Misc/layoutbin/runsvc.sh | 4 ++-- 8 + src/Misc/layoutroot/env.sh | 10 +++++----- 9 + src/Runner.Listener/Program.cs | 2 +- 10 + 3 files changed, 8 insertions(+), 8 deletions(-) 11 + 12 + diff --git a/src/Misc/layoutbin/runsvc.sh b/src/Misc/layoutbin/runsvc.sh 13 + index c135645..bb0fbf6 100755 14 + --- a/src/Misc/layoutbin/runsvc.sh 15 + +++ b/src/Misc/layoutbin/runsvc.sh 16 + @@ -4,9 +4,9 @@ 17 + # for more info on how to propagate SIGTERM to a child process see: http://veithen.github.io/2014/11/16/sigterm-propagation.html 18 + trap 'kill -INT $PID' TERM INT 19 + 20 + -if [ -f ".path" ]; then 21 + +if [ -f "${RUNNER_ROOT:-"."}/.path" ]; then 22 + # configure 23 + - export PATH=`cat .path` 24 + + export PATH=`cat "${RUNNER_ROOT:-"."}/.path"` 25 + echo ".path=${PATH}" 26 + fi 27 + 28 + diff --git a/src/Misc/layoutroot/env.sh b/src/Misc/layoutroot/env.sh 29 + index 641d244..85379bf 100755 30 + --- a/src/Misc/layoutroot/env.sh 31 + +++ b/src/Misc/layoutroot/env.sh 32 + @@ -16,10 +16,10 @@ varCheckList=( 33 + 34 + envContents="" 35 + 36 + -if [ -f ".env" ]; then 37 + - envContents=`cat .env` 38 + +if [ -f "${RUNNER_ROOT:-"."}/.env" ]; then 39 + + envContents=`cat "${RUNNER_ROOT:-"."}/.env"` 40 + else 41 + - touch .env 42 + + touch "${RUNNER_ROOT:-"."}/.env" 43 + fi 44 + 45 + function writeVar() 46 + @@ -29,12 +29,12 @@ function writeVar() 47 + if test "${envContents#*$checkDelim}" = "$envContents" 48 + then 49 + if [ ! -z "${!checkVar}" ]; then 50 + - echo "${checkVar}=${!checkVar}">>.env 51 + + echo "${checkVar}=${!checkVar}">>"${RUNNER_ROOT:-"."}/.env" 52 + fi 53 + fi 54 + } 55 + 56 + -echo $PATH>.path 57 + +echo $PATH>"${RUNNER_ROOT:-"."}/.path" 58 + 59 + for var_name in ${varCheckList[@]} 60 + do 61 + diff --git a/src/Runner.Listener/Program.cs b/src/Runner.Listener/Program.cs 62 + index d4d5e43..beacc9d 100644 63 + --- a/src/Runner.Listener/Program.cs 64 + +++ b/src/Runner.Listener/Program.cs 65 + @@ -148,7 +148,7 @@ namespace GitHub.Runner.Listener 66 + private static void LoadAndSetEnv() 67 + { 68 + var binDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); 69 + - var rootDir = new DirectoryInfo(binDir).Parent.FullName; 70 + + var rootDir = Environment.GetEnvironmentVariable("RUNNER_ROOT") ?? new DirectoryInfo(binDir).Parent.FullName; 71 + string envFile = Path.Combine(rootDir, ".env"); 72 + if (File.Exists(envFile)) 73 + { 74 + -- 75 + 2.38.1 76 +
+19
pkgs/development/tools/continuous-integration/github-runner/update.sh
··· 1 + #! /usr/bin/env nix-shell 2 + #! nix-shell -I nixpkgs=./. -i bash -p coreutils common-updater-scripts jq curl 3 + 4 + set -euo pipefail 5 + 6 + currentVersion="$(nix --extra-experimental-features nix-command eval -f . github-runner.version --raw)" 7 + latestVersion="$(curl -s -H "Accept: application/vnd.github.v3+json" \ 8 + ${GITHUB_TOKEN:+ -H "Authorization: bearer $GITHUB_TOKEN"} \ 9 + "https://api.github.com/repos/actions/runner/releases/latest" | jq -r ".tag_name")" 10 + latestVersion="${latestVersion#?}" # v2.296.2 -> 2.296.2 11 + 12 + if [[ "$latestVersion" == "$currentVersion" ]]; then 13 + echo "github-runner is already up to date: $currentVersion" 14 + exit 15 + fi 16 + 17 + update-source-version github-runner "$latestVersion" 18 + $(nix-build -A github-runner.fetch-deps --no-out-link) "$(dirname "$BASH_SOURCE")/deps.nix" 19 +
+1
pkgs/top-level/all-packages.nix
··· 29748 29748 dlm = callPackage ../applications/display-managers/greetd/dlm.nix { }; 29749 29749 greetd = callPackage ../applications/display-managers/greetd { }; 29750 29750 gtkgreet = callPackage ../applications/display-managers/greetd/gtkgreet.nix { }; 29751 + regreet = callPackage ../applications/display-managers/greetd/regreet.nix { }; 29751 29752 tuigreet = callPackage ../applications/display-managers/greetd/tuigreet.nix { }; 29752 29753 wlgreet = callPackage ../applications/display-managers/greetd/wlgreet.nix { }; 29753 29754 };