diff --git a/README.md b/README.md index 1ffc60c1..33fcfdbd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,18 @@ # Forgejo end-to-end tests +- [Forgejo end-to-end tests](#forgejo-end-to-end-tests) + - [Removing legacy tests](#removing-legacy-tests) + - [Hacking](#hacking) + - [Running from locally built binary](#running-from-locally-built-binary) + - [Forgejo](#forgejo) + - [Forgejo runner](#forgejo-runner) + - [Running from locally built container image](#running-from-locally-built-container-image) + - [Running actions tests locally](#running-actions-tests-locally) + - [Running federation tests locally](#running-federation-tests-locally) + - [Federated Mastodon Follow Test](#federated-mastodon-follow-test) + - [Running other tests locally](#running-other-tests-locally) + - [Running tests in Docker/Podman](#running-tests-in-dockerpodman) + A series of tests scenarios and assertions covering [Forgejo](https://codeberg.org/forgejo/forgejo) and the [Forgejo runner](https://code.forgejo.org/forgejo/runner). @@ -7,7 +20,7 @@ runner](https://code.forgejo.org/forgejo/runner). They are designed to run using Forgejo releases and development versions compiled from designated repositories. -# Removing legacy tests +## Removing legacy tests End-to-end tests cover the supported range of releases and when one of them is EOL, it must be removed as well as the tests that target it @@ -17,7 +30,7 @@ When a release is EOL, a branch is cut with a name following the pattern `legacy/vX.Y-vA.B`. For instance when `v8.0` is published and `v1.21` is EOL, the branch `legacy/v8.0-v1.21` is cut. -# Hacking +## Hacking docker and sudo must be installed with insecure registries allowed in /etc/docker/daemon.json for the IP that will be used for forgejo such @@ -46,12 +59,12 @@ git clone https://code.forgejo.org/forgejo/end-to-end cd end-to-end ``` -## Running from locally built binary +### Running from locally built binary Before injecting a manually built binary, make sure a simple test was run so that the directories are populated. -### Forgejo +#### Forgejo From a checkout of https://codeberg.org/forgejo/forgejo/ @@ -62,7 +75,7 @@ cp -a forgejo /srv/forgejo-binaries/forgejo-11.0 It will be used whenever the version `11.0` is specified in a test. -### Forgejo runner +#### Forgejo runner From a checkout of https://code.forgejo.org/forgejo/runner @@ -71,6 +84,12 @@ make --always-make forgejo-runner cp forgejo-runner /tmp/forgejo-end-to-end/forgejo-runner ``` +### Running from locally built container image + +```bash +docker buildx build --output=type=docker --tag codeberg.org/forgejo/forgejo:latest . +``` + ## Running actions tests locally To run and debug workflows from `actions/example-*`, from the root of @@ -103,7 +122,10 @@ the source directory, mimic what `.forgejo/workflows/end-to-end.yml` does. ./end-to-end.sh federation_setup 12.0 firefox 0.0.0.0:3001 # user root / admin1234 firefox 0.0.0.0:3002 # user root / admin1234 +firefox 0.0.0.0:3003 # user root / admin1234 ./end-to-end.sh federation_verify_scenario star +./end-to-end.sh federation_verify_scenario gotosocial +./end-to-end.sh federation_verify_scenario mastodon ./end-to-end.sh federation_teardown ```