summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2022-03-27 17:13:38 -0500
committerWilliam Hubbs <williamh@gentoo.org>2022-03-27 17:14:43 -0500
commit1245d3fb758b18e5799e502e97cad3282a9f7bb6 (patch)
treec0bbb917e51734bc1b8fd11ceb3b0b3788dacb18 /dev-util/gitlab-runner
parentnet-vpn/libreswan: remove unused patch (diff)
downloadgentoo-1245d3fb758b18e5799e502e97cad3282a9f7bb6.tar.gz
gentoo-1245d3fb758b18e5799e502e97cad3282a9f7bb6.tar.bz2
gentoo-1245d3fb758b18e5799e502e97cad3282a9f7bb6.zip
dev-util/gitlab-runner: initial import
Signed-off-by: William Hubbs <williamh@gentoo.org>
Diffstat (limited to 'dev-util/gitlab-runner')
-rw-r--r--dev-util/gitlab-runner/Manifest2
-rw-r--r--dev-util/gitlab-runner/files/gitlab-runner.confd19
-rw-r--r--dev-util/gitlab-runner/files/gitlab-runner.initd35
-rw-r--r--dev-util/gitlab-runner/files/gitlab-runner.service18
-rw-r--r--dev-util/gitlab-runner/files/gitlab-runner.tmpfile1
-rw-r--r--dev-util/gitlab-runner/gitlab-runner-14.9.1.ebuild60
-rw-r--r--dev-util/gitlab-runner/metadata.xml12
7 files changed, 147 insertions, 0 deletions
diff --git a/dev-util/gitlab-runner/Manifest b/dev-util/gitlab-runner/Manifest
new file mode 100644
index 000000000000..a6b0f0003131
--- /dev/null
+++ b/dev-util/gitlab-runner/Manifest
@@ -0,0 +1,2 @@
+DIST gitlab-runner-14.9.1-deps.tar.xz 142907928 BLAKE2B fb61c7b03d3dd63196bb4de0042a3c65035a3fc132435d7844635bb968a6bfe43e05fca053bfa96ba22cc9fd601d533857bffdf8bd734e90e86fefce8091da34 SHA512 d077cc1220ad33196655e578937c910c7b368eef57bb96d385eac0957e5f8902bb3720b1614f3179753929f25589a8d1d543bcb61d4cf5972bf4ada96a4056d8
+DIST gitlab-runner-14.9.1.tar.gz 1259997 BLAKE2B a4694198630fb2cc47ad4e9fe36b366ae695d8a4618e755b9ff12b608d5d8266614cc649b0e63bca125919ebe8dd40859fc7804cd8bb40ed391a54d6ae65a325 SHA512 ec804f3a4982414d52a4f3b5ff1560c5342a3650f1bb3edefa211a3810b17e202263abc67bfcd4423fe88b5acd501da1d23f3980a078800ab25932625ff75bc5
diff --git a/dev-util/gitlab-runner/files/gitlab-runner.confd b/dev-util/gitlab-runner/files/gitlab-runner.confd
new file mode 100644
index 000000000000..513b2f9cef18
--- /dev/null
+++ b/dev-util/gitlab-runner/files/gitlab-runner.confd
@@ -0,0 +1,19 @@
+# config file for /etc/init.d/gitlab-runner
+# The convention is that the defaults are shown here, commented out.
+# Do not override these unless you know exactly what you are doing.
+
+# runner_config="/etc/gitlab-runner/config.toml"
+# runner_datadir="/var/lib/gitlab-runner"
+# runner_service="${RC_SVCNAME}"
+# runner_user="gitlab-runner"
+
+# Additional options
+# run /usr/bin/gitlab-runner -h to see available options
+# --config, --user, --service and --working-directory are set by the
+# above variables, so do not add them here.
+# RUNNER_OPTS=""
+
+# Logging
+# runner_logdir="/var/log/gitlab-runner"
+# output_log="${runner_logdir}/gitlab-runner.log"
+# error_log="${runner_logdir}/error.log"
diff --git a/dev-util/gitlab-runner/files/gitlab-runner.initd b/dev-util/gitlab-runner/files/gitlab-runner.initd
new file mode 100644
index 000000000000..8ae45b510fd0
--- /dev/null
+++ b/dev-util/gitlab-runner/files/gitlab-runner.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/gitlab-runner"
+command_args="run
+ --config ${runner_config:-/etc/gitlab-runner/config.toml}
+ --service ${runner_service:-${RC_SVCNAME}}
+ --user ${runner_user:-gitlab-runner}
+ --working-directory ${runner_datadir:-/var/lib/gitlab-runner}
+ ${RUNNER_OPTS}"
+command_background=true
+extra_started_commands="reload"
+name="${name:-GitLab Runner}"
+pidfile="/run/${RC_SVCNAME}.pid"
+output_log="${output_log:-${runner_logdir}/gitlab-runner.log"
+error_log="${error_log:-${runner_logdir}/gitlab-runner.err"
+retry="QUIT/60/TERM/60"
+required_files="${runner_config}"
+
+depend() {
+ need localmount
+ after net.lo loopback
+}
+
+start_pre() {
+ checkpath -d -m 0700 -o "${runner_user}" "${runner_datadir}"
+ checkpath -d -m 0750 -o "${runner_user}" "${runner_logdir}"
+}
+
+reload() {
+ ebegin "Reloading ${name} configuration"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $? "Failed to reload ${name}"
+}
diff --git a/dev-util/gitlab-runner/files/gitlab-runner.service b/dev-util/gitlab-runner/files/gitlab-runner.service
new file mode 100644
index 000000000000..047de5cc7363
--- /dev/null
+++ b/dev-util/gitlab-runner/files/gitlab-runner.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=GitLab Runner service
+After=syslog.target network.target
+ConditionFileIsExecutable=/usr/bin/gitlab-runner
+
+[Service]
+StartLimitInterval=5
+StartLimitBurst=10
+ExecStart=/usr/bin/gitlab-runner run -c /etc/gitlab-runner/config.toml -u gitlab-runner -d /var/lib/gitlab-runner --syslog
+Restart=always
+RestartSec=120
+StandardOutput=syslog
+StandardError=syslog
+SyslogIdentifier=gitlab-runner
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-util/gitlab-runner/files/gitlab-runner.tmpfile b/dev-util/gitlab-runner/files/gitlab-runner.tmpfile
new file mode 100644
index 000000000000..40453089f869
--- /dev/null
+++ b/dev-util/gitlab-runner/files/gitlab-runner.tmpfile
@@ -0,0 +1 @@
+d /run/gitlab-runner 0755 gitlab-runner gitlab-runner
diff --git a/dev-util/gitlab-runner/gitlab-runner-14.9.1.ebuild b/dev-util/gitlab-runner/gitlab-runner-14.9.1.ebuild
new file mode 100644
index 000000000000..22780481d840
--- /dev/null
+++ b/dev-util/gitlab-runner/gitlab-runner-14.9.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module systemd tmpfiles
+GIT_COMMIT=bd40e3da
+
+DESCRIPTION="The official GitLab Runner, written in Go"
+HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-runner"
+SRC_URI="https://gitlab.com/gitlab-org/gitlab-runner/-/archive/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+COMMON_DEPEND="acct-group/gitlab-runner
+ acct-user/gitlab-runner"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+BDEPEND="dev-go/gox"
+
+DOCS=( docs CHANGELOG.md README.md config.toml.example )
+
+S="${WORKDIR}/${PN}-v${PV}"
+
+src_compile() {
+ emake \
+ BUILT="$(date -u '+%Y-%m-%dT%H:%M:%S%:z')" \
+ GOX="${EPREFIX}/usr/bin/gox" \
+ REVISION=${GIT_COMMIT} \
+ VERSION=${PV} \
+ runner-bin-host
+}
+
+src_test() {
+ ego test
+}
+
+src_install() {
+ dobin out/binaries/gitlab-runner
+ einstalldocs
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf
+ keepdir /{etc,var/log}/${PN}
+ fowners gitlab-runner:gitlab-runner /{etc,var/log}/${PN}
+ fperms 0700 /{etc,var/log}/gitlab-runner
+}
+
+pkg_postinst() {
+ tmpfiles_process gitlab-runner.conf
+ [[ -f ${EROOT}/etc/gitlab-runner/config.toml ]] && return
+ elog
+ elog "To use the runner, you need to register it with this command:"
+ elog "# gitlab-runner register"
+ elog "This will also create the configuration file in /etc/gitlab-runner/config.toml"
+}
diff --git a/dev-util/gitlab-runner/metadata.xml b/dev-util/gitlab-runner/metadata.xml
new file mode 100644
index 000000000000..3ec5d0dffffd
--- /dev/null
+++ b/dev-util/gitlab-runner/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>infra@gentoo.org</email>
+ <name>Gentoo Infrastructure Project</name>
+ </maintainer>
+</pkgmetadata>