]>
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 | |
eac9a939 | 5 | Version: 1.1.3 |
c2bf33c4 | 6 | Release: 2 |
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 | |
eac9a939 | 10 | # Source0-md5: 3ce0499c2ee0bca486dcdaf1bb01d2d1 |
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 |
c5c6476d | 16 | BuildRequires: golang |
fbac930f ER |
17 | BuildRequires: rpmbuild(macros) >= 1.202 |
18 | BuildRequires: rpmbuild(macros) >= 1.202 | |
19 | Requires(postun): /usr/sbin/groupdel | |
20 | Requires(postun): /usr/sbin/userdel | |
21 | Requires(pre): /bin/id | |
22 | Requires(pre): /usr/bin/getgid | |
23 | Requires(pre): /usr/sbin/groupadd | |
24 | Requires(pre): /usr/sbin/useradd | |
c5c6476d ER |
25 | Requires: ca-certificates |
26 | Requires: curl | |
27 | Requires: git-core | |
28 | Requires: tar | |
a56eb7cc | 29 | Suggests: docker >= 1.5.0 |
fbac930f ER |
30 | Provides: group(gitlab-runner) |
31 | Provides: user(gitlab-runner) | |
4ffe1735 | 32 | ExclusiveArch: %{ix86} %{x8664} %{arm} |
c5c6476d ER |
33 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
34 | ||
4ffe1735 ER |
35 | # go stuff |
36 | %define _enable_debug_packages 0 | |
37 | %define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**}; | |
38 | ||
c5c6476d ER |
39 | %description |
40 | This is the official GitLab Runner written in Go. It runs tests and | |
41 | sends the results to GitLab. GitLab CI is the open-source continuous | |
42 | integration service included with GitLab that coordinates the testing. | |
43 | ||
44 | %prep | |
45 | %setup -qc | |
46 | mv gitlab-ci-multi-runner-*/{.??*,*} . | |
47 | ||
bf2084d5 ER |
48 | install -d Godeps/_workspace/src/gitlab.com/gitlab-org |
49 | ln -s ../../../../.. Godeps/_workspace/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner | |
50 | ||
4ffe1735 ER |
51 | mkdir -p out/docker |
52 | ln -s %{SOURCE1} out/docker/prebuilt.tar.gz | |
6ada5ccc ER |
53 | # touch, otherwise make rules would download it nevertheless |
54 | touch out/docker/prebuilt.tar.gz | |
4ffe1735 | 55 | |
a0a05733 ER |
56 | # avoid docker being used even if executable found |
57 | cat <<'EOF' > docker | |
58 | #!/bin/sh | |
59 | echo >&2 "No docker" | |
60 | exit 1 | |
61 | EOF | |
62 | chmod a+rx docker | |
63 | ||
c5c6476d | 64 | %build |
611fb108 ER |
65 | # check that the revision is correct |
66 | tar xvf out/docker/prebuilt.tar.gz repositories | |
67 | revision=$(sed -rne 's/.*"gitlab-runner-build":\{"([^"]+)":.*/\1/p' repositories) | |
68 | test "$revision" = %{revision} | |
69 | ||
bf2084d5 | 70 | export GOPATH=$(pwd):$(pwd)/Godeps/_workspace |
a0a05733 | 71 | export PATH=$(pwd):$PATH |
bf2084d5 | 72 | |
4ffe1735 | 73 | %{__make} docker |
69a70248 ER |
74 | %{__make} version | tee version.txt |
75 | ||
3e1b3fba | 76 | LDFLAGS="-X main.NAME gitlab-ci-multi-runner -X main.VERSION %{version} -X main.REVISION %{revision}" |
4ffe1735 | 77 | %gobuild |
c5c6476d | 78 | |
69a70248 ER |
79 | # verify version match |
80 | ./gitlab-ci-multi-runner-%{version} -v > v | |
81 | grep 'version %{version} ' v | |
82 | ||
c5c6476d ER |
83 | %install |
84 | rm -rf $RPM_BUILD_ROOT | |
fbac930f | 85 | install -d $RPM_BUILD_ROOT{%{_sysconfdir}/gitlab-runner,%{_bindir},/var/lib/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 |