diff options
Diffstat (limited to 'pkgs/development/tools/continuous-integration/gitlab-runner/default.nix')
-rw-r--r-- | pkgs/development/tools/continuous-integration/gitlab-runner/default.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix new file mode 100644 index 00000000000..6dc0a7d30ee --- /dev/null +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -0,0 +1,59 @@ +{ lib, buildGoModule, fetchFromGitLab, fetchurl }: + +let + version = "14.8.2"; +in +buildGoModule rec { + inherit version; + pname = "gitlab-runner"; + + commonPackagePath = "gitlab.com/gitlab-org/gitlab-runner/common"; + ldflags = [ + "-X ${commonPackagePath}.NAME=gitlab-runner" + "-X ${commonPackagePath}.VERSION=${version}" + "-X ${commonPackagePath}.REVISION=v${version}" + ]; + + vendorSha256 = "1aa04hbavr0bclddp5adjwwj21sp46gbhjydxc3w7vs1siw0ivq2"; + + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "gitlab-runner"; + rev = "v${version}"; + sha256 = "1zwr09lrrc3xx3sp00vs30ks0n77d7v0xkz0mz9jy2qdls9nfmrv"; + }; + + 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; + homepage = "https://about.gitlab.com/gitlab-ci/"; + platforms = platforms.unix ++ platforms.darwin; + maintainers = with maintainers; [ bachp zimbatm globin ]; + }; +} |