parent
4b7deb86d1
commit
373b37f179
@ -0,0 +1,66 @@ |
||||
{ lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }: |
||||
|
||||
let |
||||
version = "1.6.0"; |
||||
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64 |
||||
docker_x86_64 = fetchurl { |
||||
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz"; |
||||
sha256 = "1ygc2ipprd5pr8b7y511id1af91zw15f8j28v3rx4vjapmbzpk8d"; |
||||
}; |
||||
|
||||
docker_arm = fetchurl { |
||||
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz"; |
||||
sha256 = "0aw6cfh92f7fywzry0yswa635hpmzh6fqcav0ljc5vqs26wdmjc1"; |
||||
}; |
||||
in |
||||
buildGoPackage rec { |
||||
inherit version; |
||||
name = "gitlab-runner-${version}"; |
||||
goPackagePath = "gitlab.com/gitlab-org/gitlab-ci-multi-runner"; |
||||
commonPackagePath = "${goPackagePath}/common"; |
||||
buildFlagsArray = '' |
||||
-ldflags= |
||||
-X ${commonPackagePath}.NAME=gitlab-runner |
||||
-X ${commonPackagePath}.VERSION=${version} |
||||
-X ${commonPackagePath}.REVISION=v${version} |
||||
''; |
||||
|
||||
src = fetchFromGitLab { |
||||
owner = "gitlab-org"; |
||||
repo = "gitlab-ci-multi-runner"; |
||||
rev = "v${version}"; |
||||
sha256 = "10w222k4klxqyzk08c0j7nmhdbdnn70p6n1hfqy6h5mczlffqv61"; |
||||
}; |
||||
|
||||
buildInputs = [ go-bindata ]; |
||||
|
||||
preBuild = '' |
||||
( |
||||
# go-bindata names the assets after the filename thus we create a symlink with the name we want |
||||
cd go/src/${goPackagePath} |
||||
ln -sf ${docker_x86_64} prebuilt-x86_64.tar.xz |
||||
ln -sf ${docker_arm} prebuilt-arm.tar.xz |
||||
go-bindata \ |
||||
-pkg docker \ |
||||
-nocompress \ |
||||
-nomemcopy \ |
||||
-o executors/docker/bindata.go \ |
||||
prebuilt-x86_64.tar.xz \ |
||||
prebuilt-arm.tar.xz |
||||
) |
||||
''; |
||||
|
||||
postInstall = '' |
||||
install -d $out/bin |
||||
# The recommended name is gitlab-runner so we create a symlink with that name |
||||
ln -sf gitlab-ci-multi-runner $bin/bin/gitlab-runner |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "GitLab Runner the continous integration executor of GitLab"; |
||||
license = licenses.mit; |
||||
homepage = "https://about.gitlab.com/gitlab-ci/"; |
||||
platforms = platforms.unix; |
||||
maintainers = [ lib.maintainers.bachp ]; |
||||
}; |
||||
} |
Loading…
Reference in new issue