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