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