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