42 lines
1.1 KiB
Bash
Executable file
42 lines
1.1 KiB
Bash
Executable file
TMPDIR=$(mktemp -d)
|
|
|
|
trap "rm -fr $TMPDIR" EXIT
|
|
|
|
function setup_with_rebuild() {
|
|
FORGEJO_RUNNER_CONFIG=$EXAMPLE_DIR/runner-config-with-rebuild.yml forgejo-runner.sh reload
|
|
}
|
|
|
|
function setup_without_rebuild() {
|
|
FORGEJO_RUNNER_CONFIG=$EXAMPLE_DIR/runner-config-without-rebuild.yml forgejo-runner.sh reload
|
|
}
|
|
|
|
function run() {
|
|
local dir="$1"
|
|
local expected="$2"
|
|
local repo=root/example-$example
|
|
forgejo-test-helper.sh push_workflow $dir $url root example-$example setup-forgejo $token
|
|
sha=$(forgejo-test-helper.sh branch_tip $url $repo main)
|
|
forgejo-test-helper.sh wait_$expected $url $repo $sha
|
|
}
|
|
|
|
function main() {
|
|
local dir=$TMPDIR/repository
|
|
cp -a $EXAMPLE_DIR $dir
|
|
|
|
# set up passing docker action
|
|
echo "0" >$dir/.forgejo/local-docker-action/input.txt
|
|
setup_with_rebuild
|
|
run $dir success
|
|
|
|
# change docker action to fail
|
|
echo "1" >$dir/.forgejo/local-docker-action/input.txt
|
|
# ... but without a rebuild, it should still pass
|
|
setup_without_rebuild
|
|
run $dir success
|
|
|
|
# now the action should fail
|
|
setup_with_rebuild
|
|
run $dir failure
|
|
}
|
|
|
|
main
|