diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index 57e9d15dce66..9c57c500592f 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,31 +1,54 @@ -{ lib, buildGoPackage, fetchFromGitLab, fetchurl }: +{ lib, buildGoModule, fetchFromGitLab, fetchurl }: let - version = "14.7.0"; + version = "14.8.0"; in -buildGoPackage rec { +buildGoModule rec { inherit version; pname = "gitlab-runner"; - goPackagePath = "gitlab.com/gitlab-org/gitlab-runner"; - subPackages = [ "." ]; - commonPackagePath = "${goPackagePath}/common"; + + commonPackagePath = "gitlab.com/gitlab-org/gitlab-runner/common"; ldflags = [ "-X ${commonPackagePath}.NAME=gitlab-runner" "-X ${commonPackagePath}.VERSION=${version}" "-X ${commonPackagePath}.REVISION=v${version}" ]; + vendorSha256 = "sha256-MdGLl77DFXPudt26qICSH+1UuQAR8Rb/nl0Ykb0hjgE="; + src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "0l7bbmhvgz12nq52nmvgs1qmcknikw8f2dn9l93ijb1sr495fygl"; + sha256 = "sha256-+DwOKlFu9m2kt4DwaSp/Jq3eZ/+FFxV1Q7bKOy5DfoE="; }; patches = [ ./fix-shell-path.patch ]; + prePatch = '' + # Remove some tests that can't work during a nix build + + # Requires to run in a git repo + sed -i "s/func TestCacheArchiverAddingUntrackedFiles/func OFF_TestCacheArchiverAddingUntrackedFiles/" commands/helpers/file_archiver_test.go + sed -i "s/func TestCacheArchiverAddingUntrackedUnicodeFiles/func OFF_TestCacheArchiverAddingUntrackedUnicodeFiles/" commands/helpers/file_archiver_test.go + + # No writable developer environment + rm common/build_test.go + rm executors/custom/custom_test.go + + # No docker during build + rm executors/docker/terminal_test.go + rm executors/docker/docker_test.go + rm helpers/docker/auth/auth_test.go + ''; + + preCheck = '' + # Make the tests pass outside of GitLab CI + export CI=0 + ''; + meta = with lib; { description = "GitLab Runner the continuous integration executor of GitLab"; license = licenses.mit;