.forgejo/workflows | ||
actions | ||
forgejo | ||
.gitignore | ||
LICENSE | ||
README.md |
Forgejo end-to-end tests
A series of tests scenarios and assertions covering Forgejo and the Forgejo runner. They partially rely on Forgejo actions developped specifically for testing such as setup-forgejo.
They are designed to run using Forgejo releases and development versions compiled from designated repositories.
Hacking
Local testing
To run and debug workflows from actions/example-*
, from
the root of the source directory, with docker and forgejo-curl.sh
installed, mimic what .forgejo/workflows/actions.yml
does. There
may be some manual tweaking (such as creating temporary directories)
because the tests run as root, but they do not need to run as root.
forgejo-curl.sh logout
forgejo.sh setup root admin1234 codeberg.org/forgejo/forgejo 1.21
firefox http://$(cat forgejo-ip):3000
forgejo-runner.sh setup
export example=pull-request
export EXAMPLE_DIR=$(pwd)/actions/example-$example
$EXAMPLE_DIR/setup.sh
# if it exists$EXAMPLE_DIR/run.sh
orforgejo-test-helper.sh run_workflow actions/example-$example http://root:admin1234@$(cat forgejo-ip):3000 root example-$example setup-forgejo $(cat forgejo-token)
forgejo-runner.sh teardown
forgejo.sh teardown
Remote testing
To reduce the runtime the following variables can be set to control the number of cases run by the actions tests. If set to none they are not run at all for that version of Forgejo. If it does not exist, all tests are run.
V1_21_TESTS
V1_20_TESTS