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