diff --git a/forgejo-runner-lib.sh b/forgejo-lib.sh similarity index 50% rename from forgejo-runner-lib.sh rename to forgejo-lib.sh index 56bfc6d..7269a4c 100644 --- a/forgejo-runner-lib.sh +++ b/forgejo-lib.sh @@ -1,10 +1,49 @@ #!/bin/bash # SPDX-License-Identifier: MIT -set -ex +set -e export DEBIAN_FRONTEND=noninteractive +: ${RETRY_DELAYS:=1 1 5 5 15 30} + +function retry() { + local tmp=/tmp + rm -f $tmp/retry.out + success=false + for delay in $RETRY_DELAYS ; do + if "$@" >> $tmp/retry.out 2>&1 ; then + success=true + break + fi + cat $tmp/retry.out + echo waiting $delay + sleep $delay + done + if test $success = false ; then + cat $tmp/retry.out + return 1 + fi +} + +function stop_daemon() { + local daemon=$1 + local dir=${2:-.} + + if test -f $dir/$daemon-pid ; then + local pid=$(cat $dir/$daemon-pid) + kill -TERM $pid + pidwait $pid || true + for delay in 1 1 2 2 5 5 ; do + if ! test -f $dir/$daemon-pid ; then + break + fi + sleep $delay + done + ! test -f $dir/$daemon-pid + fi +} + function dependency_go() { go_version="1.21.4.linux-amd64" # Set the desired Go version here diff --git a/forgejo-runner.sh b/forgejo-runner.sh index d46856c..167e38c 100755 --- a/forgejo-runner.sh +++ b/forgejo-runner.sh @@ -69,24 +69,6 @@ function setup() { run } -function stop_daemon() { - local daemon=$1 - local DIR=. - - if test -f $DIR/$daemon-pid ; then - local pid=$(cat $DIR/$daemon-pid) - kill -TERM $pid - pidwait $pid || true - for delay in 1 1 2 2 5 5 ; do - if ! test -f $DIR/$daemon-pid ; then - break - fi - sleep $delay - done - ! test -f $DIR/$daemon-pid - fi -} - function teardown() { stop_daemon forgejo-runner rm -fr $(cat forgejo-runner-home) diff --git a/forgejo.sh b/forgejo.sh index a54d90f..844ef1f 100755 --- a/forgejo.sh +++ b/forgejo.sh @@ -6,25 +6,6 @@ set -e DIR=/tmp if ${VERBOSE:-false}; then set -x; fi : ${CONTAINER:=forgejo} -: ${RETRY_DELAYS:=1 1 5 5 15 30} - -function retry() { - rm -f $DIR/retry.out - success=false - for delay in $RETRY_DELAYS ; do - if "$@" >> $DIR/retry.out 2>&1 ; then - success=true - break - fi - cat $DIR/retry.out - echo waiting $delay - sleep $delay - done - if test $success = false ; then - cat $DIR/retry.out - return 1 - fi -} function run() { local image="$1"