bottom: add gpu recognition, new apple sdk, refactor (#360568)
[NixPkgs.git] / pkgs / by-name / gi / gitlab-runner / package.nix
blob61d2af6ac7c87351ead5a2f9ecdcf7e71a4fee49
1 { lib, buildGoModule, fetchFromGitLab, bash }:
3 let
4   version = "17.2.0";
5 in
6 buildGoModule rec {
7   inherit version;
8   pname = "gitlab-runner";
10   commonPackagePath = "gitlab.com/gitlab-org/gitlab-runner/common";
11   ldflags = [
12     "-X ${commonPackagePath}.NAME=gitlab-runner"
13     "-X ${commonPackagePath}.VERSION=${version}"
14     "-X ${commonPackagePath}.REVISION=v${version}"
15   ];
17   # For patchShebangs
18   buildInputs = [ bash ];
20   vendorHash = "sha256-1MwHss76apA9KoFhEU6lYiUACrPMGYzjhds6nTyNuJI=";
22   src = fetchFromGitLab {
23     owner = "gitlab-org";
24     repo = "gitlab-runner";
25     rev = "v${version}";
26     hash = "sha256-a2Igy4DS3fYTvPW1vvDrH/DjMQ4lG9cm/P3mFr+y9s4=";
27   };
29   patches = [
30     ./fix-shell-path.patch
31     ./remove-bash-test.patch
32   ];
34   prePatch = ''
35     # Remove some tests that can't work during a nix build
37     # Requires to run in a git repo
38     sed -i "s/func TestCacheArchiverAddingUntrackedFiles/func OFF_TestCacheArchiverAddingUntrackedFiles/" commands/helpers/file_archiver_test.go
39     sed -i "s/func TestCacheArchiverAddingUntrackedUnicodeFiles/func OFF_TestCacheArchiverAddingUntrackedUnicodeFiles/" commands/helpers/file_archiver_test.go
41     # No writable developer environment
42     rm common/build_test.go
43     rm common/build_settings_test.go
44     rm executors/custom/custom_test.go
46     # No docker during build
47     rm executors/docker/terminal_test.go
48     rm executors/docker/docker_test.go
49     rm helpers/docker/auth/auth_test.go
50     rm executors/docker/services_test.go
51   '';
53   excludedPackages = [
54     # CI helper script for pushing images to Docker and ECR registries
55     # https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/4139
56     "./scripts/sync-docker-images"
57   ];
59   postInstall = ''
60     install packaging/root/usr/share/gitlab-runner/clear-docker-cache $out/bin
61   '';
63   preCheck = ''
64     # Make the tests pass outside of GitLab CI
65     export CI=0
66   '';
68   meta = with lib; {
69     description = "GitLab Runner the continuous integration executor of GitLab";
70     license = licenses.mit;
71     homepage = "https://docs.gitlab.com/runner/";
72     platforms = platforms.unix ++ platforms.darwin;
73     maintainers = with maintainers; [ zimbatm ] ++ teams.gitlab.members;
74   };