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