]> git.pld-linux.org Git - packages/gitlab-runner.git/blame - gitlab-runner.spec
- up to 12.7.1
[packages/gitlab-runner.git] / gitlab-runner.spec
CommitLineData
06f8fc9b
ER
1#
2# Conditional build:
3%bcond_with prebuilt # use prebuilt binary
4
2cb3b302 5%define helper_revision 05161b14
c5c6476d 6Summary: The official GitLab CI runner written in Go
8264fff3 7Name: gitlab-runner
8d6d0fba 8Version: 12.7.1
2cb3b302 9Release: 1
b306b97b 10License: MIT
c5c6476d 11Group: Development/Building
54c688dc 12Source0: https://gitlab.com/gitlab-org/gitlab-runner/-/archive/v%{version}/gitlab-runner-v%{version}.tar.bz2
8d6d0fba 13# Source0-md5: 20c0e38abbb97ba2c6bc38fd338fc15f
06f8fc9b
ER
14%if %{with prebuilt}
15Source1: https://gitlab-runner-downloads.s3.amazonaws.com/v%{version}/binaries/gitlab-runner-linux-amd64
16# Source1-md5: 2fc56f01f932a14a807e37195d08bcf2
17%endif
af21cb3e
ER
18Source3: %{name}.init
19Source4: %{name}.sysconfig
20Source5: %{name}.service
72cef35a 21Patch0: nodim_gz.patch
c4affa20 22Patch1: branch-preserver.patch
8264fff3 23URL: https://gitlab.com/gitlab-org/gitlab-runner
c5c6476d 24BuildRequires: git-core
fbe229fb 25BuildRequires: golang >= 1.9.4
98c01f80
ER
26BuildRequires: rpmbuild(macros) >= 1.647
27Requires(post,preun): /sbin/chkconfig
28Requires(post,preun,postun): systemd-units >= 38
fbac930f
ER
29Requires(postun): /usr/sbin/groupdel
30Requires(postun): /usr/sbin/userdel
31Requires(pre): /bin/id
32Requires(pre): /usr/bin/getgid
33Requires(pre): /usr/sbin/groupadd
34Requires(pre): /usr/sbin/useradd
d20ff300 35Requires: bash
c5c6476d 36Requires: ca-certificates
c5c6476d 37Requires: git-core
98c01f80
ER
38Requires: rc-scripts
39Requires: systemd-units >= 0.38
c5c6476d 40Requires: tar
ff1d3f82 41Suggests: docker >= 1.8
92ce92df
ER
42Suggests: gitlab-runner-image-arm
43Suggests: gitlab-runner-image-x86_64
fbac930f
ER
44Provides: group(gitlab-runner)
45Provides: user(gitlab-runner)
f4506058 46Obsoletes: gitlab-ci-multi-runner < 10.0
4ffe1735 47ExclusiveArch: %{ix86} %{x8664} %{arm}
c5c6476d
ER
48BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
4ffe1735
ER
50# go stuff
51%define _enable_debug_packages 0
84d9b71c 52%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v %{?debug:-x} %{?**};
8264fff3 53%define import_path gitlab.com/gitlab-org/gitlab-runner
4ffe1735 54
c5c6476d
ER
55%description
56This is the official GitLab Runner written in Go. It runs tests and
57sends the results to GitLab. GitLab CI is the open-source continuous
58integration service included with GitLab that coordinates the testing.
59
60%prep
61%setup -qc
c5c6476d 62
7ad949a0 63# for doc
8264fff3 64mv gitlab-runner-*/*.md .
7ad949a0
ER
65
66# don't you love go?
67install -d src/$(dirname %{import_path})
8264fff3 68mv gitlab-runner-* src/%{import_path}
7ad949a0 69cd src/%{import_path}
bf2084d5 70
54c688dc 71#%patch0 -p5
dfe9a179 72%patch1 -p1
72cef35a 73
a0a05733
ER
74# avoid docker being used even if executable found
75cat <<'EOF' > docker
76#!/bin/sh
77echo >&2 "No docker"
78exit 1
79EOF
80chmod a+rx docker
81
c5c6476d 82%build
7ad949a0
ER
83export GOPATH=$(pwd)
84cd src/%{import_path}
a0a05733 85export PATH=$(pwd):$PATH
bf2084d5 86
06f8fc9b 87%if %{without prebuilt}
69a70248 88%{__make} version | tee version.txt
d16d4f3d 89
8264fff3 90CN=gitlab.com/gitlab-org/gitlab-runner/common
a797f771 91DT=$(date -u +%%Y-%%m-%%dT%%H:%%M:%%S%%:z)
e999385b 92LDFLAGS="-X $CN.VERSION=%{version} -X $CN.REVISION=%{helper_revision} -X $CN.BRANCH=v%{version} -X $CN.BUILT=$DT"
4ffe1735 93%gobuild
06f8fc9b
ER
94%else
95install -p %{SOURCE1} gitlab-runner
96%endif
c5c6476d 97
f81cac35 98# verify that version matches
8264fff3 99./gitlab-runner -v > v
f81cac35
ER
100v=$(awk '$1 == "Version:" {print $2}' v)
101test "$v" = "%{version}"
69a70248 102
c5c6476d
ER
103%install
104rm -rf $RPM_BUILD_ROOT
af21cb3e 105install -d $RPM_BUILD_ROOT{%{_sysconfdir}/gitlab-runner,%{_bindir},/etc/{rc.d/init.d,sysconfig},%{systemdunitdir},/var/lib/gitlab-runner/.gitlab-runner}
770719bc 106
7ad949a0 107install -p src/%{import_path}/%{name} $RPM_BUILD_ROOT%{_bindir}/gitlab-runner
af21cb3e
ER
108install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
109cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
110cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}
fbac930f 111
c5c6476d
ER
112%clean
113rm -rf $RPM_BUILD_ROOT
114
fbac930f
ER
115%pre
116%groupadd -g 330 gitlab-runner
117%useradd -u 330 -d /var/lib/gitlab-runner -g gitlab-runner -c "GitLab Runner" gitlab-runner
118
119%postun
120if [ "$1" = "0" ]; then
121 %userremove gitlab-runner
122 %groupremove gitlab-runner
123fi
98c01f80
ER
124%systemd_reload
125
126%post
127/sbin/chkconfig --add %{name}
128%service %{name} restart
129%systemd_post %{name}.service
130
131%preun
132if [ "$1" = "0" ]; then
133 %service -q %{name} stop
134 /sbin/chkconfig --del %{name}
135fi
136%systemd_preun %{name}.service
fbac930f 137
c5c6476d
ER
138%files
139%defattr(644,root,root,755)
140%doc README.md CHANGELOG.md
8264fff3
ER
141%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gitlab-runner
142%attr(754,root,root) /etc/rc.d/init.d/gitlab-runner
770719bc 143%dir %attr(750,root,root) %{_sysconfdir}/gitlab-runner
c2bf33c4 144%attr(755,root,root) %{_bindir}/gitlab-runner
8264fff3 145%{systemdunitdir}/gitlab-runner.service
fbac930f 146%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner
dd56a935 147%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner/.gitlab-runner
This page took 0.176183 seconds and 4 git commands to generate.