]> git.pld-linux.org Git - packages/gitlab-runner.git/blame - gitlab-ci-multi-runner.spec
uses bash in runners
[packages/gitlab-runner.git] / gitlab-ci-multi-runner.spec
CommitLineData
3e1b3fba 1# the revision for images
d16d4f3d 2%define revision %{version}
c5c6476d
ER
3Summary: The official GitLab CI runner written in Go
4Name: gitlab-ci-multi-runner
52f287d2 5Version: 1.5.2
a946f059 6Release: 1
b306b97b 7License: MIT
c5c6476d
ER
8Group: Development/Building
9Source0: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/repository/archive.tar.gz?ref=v%{version}&/%{name}-%{version}.tar.gz
52f287d2 10# Source0-md5: 3daf43173c38421fb9243fc20a7adf70
7ad949a0 11Source1: https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/master/docker/prebuilt-x86_64.tar.xz
52f287d2 12# Source1-md5: 0d89c7578a0b5d22a4ae85dcb7d5b4f5
7ad949a0 13Source2: https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/master/docker/prebuilt-arm.tar.xz
52f287d2 14# Source2-md5: c0533c581624dcb33095f08f06e6a00b
c5c6476d
ER
15URL: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner
16BuildRequires: git-core
4ffe1735 17BuildRequires: go-bindata >= 3.0.7-1.a0ff2567
f81cac35 18BuildRequires: golang >= 1.4
fbac930f
ER
19BuildRequires: rpmbuild(macros) >= 1.202
20Requires(postun): /usr/sbin/groupdel
21Requires(postun): /usr/sbin/userdel
22Requires(pre): /bin/id
23Requires(pre): /usr/bin/getgid
24Requires(pre): /usr/sbin/groupadd
25Requires(pre): /usr/sbin/useradd
d20ff300 26Requires: bash
c5c6476d
ER
27Requires: ca-certificates
28Requires: curl
29Requires: git-core
30Requires: tar
a56eb7cc 31Suggests: docker >= 1.5.0
fbac930f
ER
32Provides: group(gitlab-runner)
33Provides: user(gitlab-runner)
4ffe1735 34ExclusiveArch: %{ix86} %{x8664} %{arm}
c5c6476d
ER
35BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
4ffe1735
ER
37# go stuff
38%define _enable_debug_packages 0
39%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**};
7ad949a0 40%define import_path gitlab.com/gitlab-org/gitlab-ci-multi-runner
4ffe1735 41
c5c6476d
ER
42%description
43This is the official GitLab Runner written in Go. It runs tests and
44sends the results to GitLab. GitLab CI is the open-source continuous
45integration service included with GitLab that coordinates the testing.
46
47%prep
48%setup -qc
c5c6476d 49
7ad949a0
ER
50# for doc
51mv gitlab-ci-multi-runner-*/*.md .
52
53# don't you love go?
54install -d src/$(dirname %{import_path})
55mv gitlab-ci-multi-runner-* src/%{import_path}
56cd src/%{import_path}
bf2084d5 57
4ffe1735 58mkdir -p out/docker
d16d4f3d
ER
59ln -s %{SOURCE1} out/docker
60ln -s %{SOURCE2} out/docker
6ada5ccc 61# touch, otherwise make rules would download it nevertheless
7ad949a0 62touch out/docker/prebuilt-*.tar.xz
4ffe1735 63
a0a05733
ER
64# avoid docker being used even if executable found
65cat <<'EOF' > docker
66#!/bin/sh
67echo >&2 "No docker"
68exit 1
69EOF
70chmod a+rx docker
71
c5c6476d 72%build
611fb108 73# check that the revision is correct
d16d4f3d
ER
74#tar xvf out/docker/prebuilt.tar.gz repositories
75#revision=$(sed -rne 's/.*"gitlab-runner-build":\{"([^"]+)":.*/\1/p' repositories)
76#test "$revision" = %{revision}
611fb108 77
7ad949a0
ER
78export GOPATH=$(pwd)
79cd src/%{import_path}
a0a05733 80export PATH=$(pwd):$PATH
bf2084d5 81
7ad949a0
ER
82# build docker bindata. if you forget this, you get such error:
83# executors/docker/executor_docker.go:180: undefined: Asset
4ffe1735 84%{__make} docker
69a70248 85%{__make} version | tee version.txt
d16d4f3d 86
7ad949a0
ER
87CN=gitlab.com/gitlab-org/gitlab-ci-multi-runner/common
88LDFLAGS="-X $CN.NAME=gitlab-ci-multi-runner -X $CN.VERSION=%{version} -X $CN.REVISION=%{revision}"
4ffe1735 89%gobuild
c5c6476d 90
f81cac35 91# verify that version matches
7ad949a0 92./gitlab-ci-multi-runner -v > v
f81cac35
ER
93v=$(awk '$1 == "Version:" {print $2}' v)
94test "$v" = "%{version}"
69a70248 95
c5c6476d
ER
96%install
97rm -rf $RPM_BUILD_ROOT
dd56a935 98install -d $RPM_BUILD_ROOT{%{_sysconfdir}/gitlab-runner,%{_bindir},/var/lib/gitlab-runner/.gitlab-runner}
770719bc 99
7ad949a0 100install -p src/%{import_path}/%{name} $RPM_BUILD_ROOT%{_bindir}/gitlab-runner
fbac930f 101
c2bf33c4
ER
102# backward compat name for previous pld packaging
103ln -s gitlab-runner $RPM_BUILD_ROOT%{_bindir}/gitlab-ci-multi-runner
c5c6476d
ER
104
105%clean
106rm -rf $RPM_BUILD_ROOT
107
fbac930f
ER
108%pre
109%groupadd -g 330 gitlab-runner
110%useradd -u 330 -d /var/lib/gitlab-runner -g gitlab-runner -c "GitLab Runner" gitlab-runner
111
112%postun
113if [ "$1" = "0" ]; then
114 %userremove gitlab-runner
115 %groupremove gitlab-runner
116fi
117
c5c6476d
ER
118%files
119%defattr(644,root,root,755)
120%doc README.md CHANGELOG.md
770719bc 121%dir %attr(750,root,root) %{_sysconfdir}/gitlab-runner
4ffe1735 122%attr(755,root,root) %{_bindir}/gitlab-ci-multi-runner
c2bf33c4 123%attr(755,root,root) %{_bindir}/gitlab-runner
fbac930f 124%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner
dd56a935 125%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner/.gitlab-runner
This page took 0.080201 seconds and 4 git commands to generate.