diff --git a/GIDs b/GIDs --- a/GIDs +++ b/GIDs @@ -769,7 +769,7 @@ polw:*:825: statsd:*:826: _tuptime:*:827: -# free: 828 +cirrus:*:828: # free: 829 # free: 830 # free: 831 diff --git a/UIDs b/UIDs --- a/UIDs +++ b/UIDs @@ -775,7 +775,7 @@ polw:*:825:825::0:0:Policyd-weight Cache Owner:/nonexistent:/sbin/nologin statsd:*:826:826::0:0:Statsd Daemon:/nonexistent:/sbin/nologin _tuptime:*:827:827::0:0:Tuptime:/var/lib/tuptime:/usr/sbin/nologin -# free: 828 +cirrus:*:828:828::0:0:Cirrus CI:/usr/local/cirrus:/bin/sh # free: 829 # free: 830 # free: 831 diff --git a/devel/cirrus-cli/Makefile b/devel/cirrus-cli/Makefile --- a/devel/cirrus-cli/Makefile +++ b/devel/cirrus-cli/Makefile @@ -1,9 +1,10 @@ PORTNAME= cirrus-cli PORTVERSION= 0.106.0 DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= devel -MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod -DISTFILES= go.mod:gomod +MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod +DISTFILES= go.mod:gomod MAINTAINER= bofh@FreeBSD.org COMMENT= Command line interface for Cirrus CI @@ -16,10 +17,18 @@ USE_GITHUB= yes GH_ACCOUNT= cirruslabs +USE_RC_SUBR= ${PORTNAME} + GO_MODULE= github.com/cirruslabs/cirrus-cli GO_TARGET= ./cmd/cirrus GO_BUILDFLAGS= -ldflags="-X github.com/cirruslabs/cirrus-cli/internal/version.Version=${PORTVERSION}" -PLIST_FILES= bin/cirrus +SUB_FILES= pkg-message + +USERS= cirrus +GROUPS= cirrus + +post-install: + ${INSTALL_DATA} ${FILESDIR}/cirrus-worker.yml ${STAGEDIR}${PREFIX}/etc/cirrus-worker.yml.sample .include diff --git a/devel/cirrus-cli/files/cirrus-cli.in b/devel/cirrus-cli/files/cirrus-cli.in new file mode 100644 --- /dev/null +++ b/devel/cirrus-cli/files/cirrus-cli.in @@ -0,0 +1,34 @@ +#!/bin/sh + +# PROVIDE: cirrus_cli +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Options to configure cirrus-cli via /etc/rc.conf: +# +# cirrus_cli_enable (bool) Enable service on boot +# Default: NO +# +# cirrus_cli_conf (str) Config file to use +# Default: %%ETCDIR%%/cirrus-worker.yml +# +# cirrus_cli_uid (str) User to run cirrus_cli as +# Default: cirrus + +. /etc/rc.subr + +name="cirrus" +rcvar="cirrus_cli_enable" +pidfile="/var/run/cirrus-cli.pid" +procname="%%PREFIX%%/bin/cirrus" + +load_rc_config $name + +: ${cirrus_cli_enable:="NO"} +: ${cirrus_cli_conf:="%%PREFIX%%/etc/cirrus-worker.yml"} +: ${cirrus_cli_uid:="cirrus"} + +command="/usr/sbin/daemon" +command_args="-p ${pidfile} -u ${cirrus_cli_uid} ${procname} worker run -f ${cirrus_cli_conf}" + +run_rc_command "$1" diff --git a/devel/cirrus-cli/files/cirrus-worker.yml b/devel/cirrus-cli/files/cirrus-worker.yml new file mode 100644 --- /dev/null +++ b/devel/cirrus-cli/files/cirrus-worker.yml @@ -0,0 +1,12 @@ +token: CHANGEME + +name: cirrus1-on-premises-change-me + +labels: + jail: FreeBSD + +log: + level: info + file: /usr/local/cirrus/cirrus-worker.log + rotate-size: 100 MB + max-rotations: 10 diff --git a/devel/cirrus-cli/files/pkg-message.in b/devel/cirrus-cli/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/devel/cirrus-cli/files/pkg-message.in @@ -0,0 +1,11 @@ +[ +{ type: install + message: <