]> git.pld-linux.org Git - packages/gitlab-runner.git/blame - gitlab-runner.spec
Up to 13.12.0
[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
68184017 8Version: 13.12.0
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
68184017 13# Source0-md5: a249bfae11074f3922a6c1f72fa5fa9d
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}
68184017
ER
69
70%patch1 -p1
71
7ad949a0 72cd src/%{import_path}
bf2084d5 73
54c688dc 74#%patch0 -p5
72cef35a 75
a0a05733
ER
76# avoid docker being used even if executable found
77cat <<'EOF' > docker
78#!/bin/sh
79echo >&2 "No docker"
80exit 1
81EOF
82chmod a+rx docker
83
c5c6476d 84%build
7ad949a0
ER
85export GOPATH=$(pwd)
86cd src/%{import_path}
a0a05733 87export PATH=$(pwd):$PATH
bf2084d5 88
06f8fc9b 89%if %{without prebuilt}
69a70248 90%{__make} version | tee version.txt
d16d4f3d 91
8264fff3 92CN=gitlab.com/gitlab-org/gitlab-runner/common
a797f771 93DT=$(date -u +%%Y-%%m-%%dT%%H:%%M:%%S%%:z)
e999385b 94LDFLAGS="-X $CN.VERSION=%{version} -X $CN.REVISION=%{helper_revision} -X $CN.BRANCH=v%{version} -X $CN.BUILT=$DT"
4ffe1735 95%gobuild
06f8fc9b
ER
96%else
97install -p %{SOURCE1} gitlab-runner
98%endif
c5c6476d 99
f81cac35 100# verify that version matches
8264fff3 101./gitlab-runner -v > v
f81cac35
ER
102v=$(awk '$1 == "Version:" {print $2}' v)
103test "$v" = "%{version}"
69a70248 104
c5c6476d
ER
105%install
106rm -rf $RPM_BUILD_ROOT
af21cb3e 107install -d $RPM_BUILD_ROOT{%{_sysconfdir}/gitlab-runner,%{_bindir},/etc/{rc.d/init.d,sysconfig},%{systemdunitdir},/var/lib/gitlab-runner/.gitlab-runner}
770719bc 108
7ad949a0 109install -p src/%{import_path}/%{name} $RPM_BUILD_ROOT%{_bindir}/gitlab-runner
af21cb3e
ER
110install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
111cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
112cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}
fbac930f 113
c5c6476d
ER
114%clean
115rm -rf $RPM_BUILD_ROOT
116
fbac930f
ER
117%pre
118%groupadd -g 330 gitlab-runner
119%useradd -u 330 -d /var/lib/gitlab-runner -g gitlab-runner -c "GitLab Runner" gitlab-runner
120
121%postun
122if [ "$1" = "0" ]; then
123 %userremove gitlab-runner
124 %groupremove gitlab-runner
125fi
98c01f80
ER
126%systemd_reload
127
128%post
129/sbin/chkconfig --add %{name}
130%service %{name} restart
131%systemd_post %{name}.service
132
133%preun
134if [ "$1" = "0" ]; then
135 %service -q %{name} stop
136 /sbin/chkconfig --del %{name}
137fi
138%systemd_preun %{name}.service
fbac930f 139
c5c6476d
ER
140%files
141%defattr(644,root,root,755)
142%doc README.md CHANGELOG.md
8264fff3
ER
143%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gitlab-runner
144%attr(754,root,root) /etc/rc.d/init.d/gitlab-runner
770719bc 145%dir %attr(750,root,root) %{_sysconfdir}/gitlab-runner
c2bf33c4 146%attr(755,root,root) %{_bindir}/gitlab-runner
8264fff3 147%{systemdunitdir}/gitlab-runner.service
fbac930f 148%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner
dd56a935 149%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner/.gitlab-runner
This page took 0.109389 seconds and 4 git commands to generate.