Merge pull request 'actions: force-rebuild must use a copy of the repository' (#474) from earl-warren/end-to-end:wip-force-rebuild into main
Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/474 Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
This commit is contained in:
commit
eebf6a1062
2 changed files with 17 additions and 9 deletions
|
@ -1,4 +1,4 @@
|
||||||
FROM debian:bookworm-slim
|
FROM code.forgejo.org/oci/debian:bookworm
|
||||||
COPY entrypoint.sh /run/entrypoint.sh
|
COPY entrypoint.sh /run/entrypoint.sh
|
||||||
# if we rebuild, we should notice this file change
|
# if we rebuild, we should notice this file change
|
||||||
COPY input.txt /run/input.txt
|
COPY input.txt /run/input.txt
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
TMPDIR=$(mktemp -d)
|
||||||
|
|
||||||
|
trap "rm -fr $TMPDIR" EXIT
|
||||||
|
|
||||||
function setup_with_rebuild() {
|
function setup_with_rebuild() {
|
||||||
FORGEJO_RUNNER_CONFIG=$EXAMPLE_DIR/runner-config-with-rebuild.yml forgejo-runner.sh reload
|
FORGEJO_RUNNER_CONFIG=$EXAMPLE_DIR/runner-config-with-rebuild.yml forgejo-runner.sh reload
|
||||||
}
|
}
|
||||||
|
@ -7,28 +11,32 @@ function setup_without_rebuild() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function run() {
|
function run() {
|
||||||
local expected="$1"
|
local dir="$1"
|
||||||
|
local expected="$2"
|
||||||
local repo=root/example-$example
|
local repo=root/example-$example
|
||||||
forgejo-test-helper.sh push_workflow actions/example-$example $url root example-$example setup-forgejo $token
|
forgejo-test-helper.sh push_workflow $dir $url root example-$example setup-forgejo $token
|
||||||
sha=$(forgejo-test-helper.sh branch_tip $url $repo main)
|
sha=$(forgejo-test-helper.sh branch_tip $url $repo main)
|
||||||
forgejo-test-helper.sh wait_$expected $url $repo $sha
|
forgejo-test-helper.sh wait_$expected $url $repo $sha
|
||||||
}
|
}
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
|
local dir=$TMPDIR/repository
|
||||||
|
cp -a $EXAMPLE_DIR $dir
|
||||||
|
|
||||||
# set up passing docker action
|
# set up passing docker action
|
||||||
echo "0" > $EXAMPLE_DIR/.forgejo/local-docker-action/input.txt
|
echo "0" >$dir/.forgejo/local-docker-action/input.txt
|
||||||
setup_with_rebuild
|
setup_with_rebuild
|
||||||
run success
|
run $dir success
|
||||||
|
|
||||||
# change docker action to fail
|
# change docker action to fail
|
||||||
echo "1" > $EXAMPLE_DIR/.forgejo/local-docker-action/input.txt
|
echo "1" >$dir/.forgejo/local-docker-action/input.txt
|
||||||
# ... but without a rebuild, it should still pass
|
# ... but without a rebuild, it should still pass
|
||||||
setup_without_rebuild
|
setup_without_rebuild
|
||||||
run success
|
run $dir success
|
||||||
|
|
||||||
# now the action should fail
|
# now the action should fail
|
||||||
setup_with_rebuild
|
setup_with_rebuild
|
||||||
run failure
|
run $dir failure
|
||||||
}
|
}
|
||||||
|
|
||||||
main
|
main
|
||||||
|
|
Loading…
Add table
Reference in a new issue