]> git.pld-linux.org Git - packages/gitlab-runner.git/blob - gitlab-ci-multi-runner.spec
package also config dir
[packages/gitlab-runner.git] / gitlab-ci-multi-runner.spec
1 # the revision for images
2 %define revision        88fc806
3 Summary:        The official GitLab CI runner written in Go
4 Name:           gitlab-ci-multi-runner
5 Version:        1.2.0
6 Release:        1
7 License:        MIT
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
10 # Source0-md5:  ca82170f56b9e334beffd664d509e5a3
11 Source1:        https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/master/docker/prebuilt.tar.gz
12 # Source1-md5:  d616dcc457a6ce69bed4af2ca08dfe0a
13 URL:            https://gitlab.com/gitlab-org/gitlab-ci-multi-runner
14 BuildRequires:  git-core
15 BuildRequires:  go-bindata >= 3.0.7-1.a0ff2567
16 BuildRequires:  golang >= 1.4
17 BuildRequires:  rpmbuild(macros) >= 1.202
18 Requires(postun):       /usr/sbin/groupdel
19 Requires(postun):       /usr/sbin/userdel
20 Requires(pre):  /bin/id
21 Requires(pre):  /usr/bin/getgid
22 Requires(pre):  /usr/sbin/groupadd
23 Requires(pre):  /usr/sbin/useradd
24 Requires:       ca-certificates
25 Requires:       curl
26 Requires:       git-core
27 Requires:       tar
28 Suggests:       docker >= 1.5.0
29 Provides:       group(gitlab-runner)
30 Provides:       user(gitlab-runner)
31 ExclusiveArch:  %{ix86} %{x8664} %{arm}
32 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
34 # go stuff
35 %define _enable_debug_packages 0
36 %define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**};
37
38 %description
39 This is the official GitLab Runner written in Go. It runs tests and
40 sends the results to GitLab. GitLab CI is the open-source continuous
41 integration service included with GitLab that coordinates the testing.
42
43 %prep
44 %setup -qc
45 mv gitlab-ci-multi-runner-*/{.??*,*} .
46
47 install -d Godeps/_workspace/src/gitlab.com/gitlab-org
48 ln -s ../../../../.. Godeps/_workspace/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner
49
50 mkdir -p out/docker
51 ln -s %{SOURCE1} out/docker/prebuilt.tar.gz
52 # touch, otherwise make rules would download it nevertheless
53 touch out/docker/prebuilt.tar.gz
54
55 # avoid docker being used even if executable found
56 cat <<'EOF' > docker
57 #!/bin/sh
58 echo >&2 "No docker"
59 exit 1
60 EOF
61 chmod a+rx docker
62
63 %build
64 # check that the revision is correct
65 tar xvf out/docker/prebuilt.tar.gz repositories
66 revision=$(sed -rne 's/.*"gitlab-runner-build":\{"([^"]+)":.*/\1/p' repositories)
67 test "$revision" = %{revision}
68
69 export GOPATH=$(pwd):$(pwd)/Godeps/_workspace
70 export PATH=$(pwd):$PATH
71
72 %{__make} docker
73 %{__make} version | tee version.txt
74
75 LDFLAGS="-X main.NAME gitlab-ci-multi-runner -X main.VERSION %{version} -X main.REVISION %{revision}"
76 %gobuild
77
78 # verify that version matches
79 ./gitlab-ci-multi-runner-%{version} -v > v
80 v=$(awk '$1 == "Version:" {print $2}' v)
81 test "$v" = "%{version}"
82
83 %install
84 rm -rf $RPM_BUILD_ROOT
85 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/gitlab-runner,%{_bindir},/var/lib/gitlab-runner/.gitlab-runner}
86
87 install -p %{name}-%{version} $RPM_BUILD_ROOT%{_bindir}/gitlab-runner
88
89 # backward compat name for previous pld packaging
90 ln -s gitlab-runner $RPM_BUILD_ROOT%{_bindir}/gitlab-ci-multi-runner
91
92 %clean
93 rm -rf $RPM_BUILD_ROOT
94
95 %pre
96 %groupadd -g 330 gitlab-runner
97 %useradd -u 330 -d /var/lib/gitlab-runner -g gitlab-runner -c "GitLab Runner" gitlab-runner
98
99 %postun
100 if [ "$1" = "0" ]; then
101         %userremove gitlab-runner
102         %groupremove gitlab-runner
103 fi
104
105 %files
106 %defattr(644,root,root,755)
107 %doc README.md CHANGELOG.md
108 %dir %attr(750,root,root) %{_sysconfdir}/gitlab-runner
109 %attr(755,root,root) %{_bindir}/gitlab-ci-multi-runner
110 %attr(755,root,root) %{_bindir}/gitlab-runner
111 %dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner
112 %dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner/.gitlab-runner
This page took 0.064318 seconds and 3 git commands to generate.