The local actions are always rebuilt with a random tag and cannot be used to verify the force_rebuild setting is working.
Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/991
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
As of [Forgejo runner 5.0.1](5889426664), RUNNER_TOOL_CACHE is set but it is not pre-populated. By default it does not exist but a dedicated container image my place shared tools at that location for actions / workflows that expect them to be advertised by this environment variable.
Resolvesforgejo/runner#901
Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/968
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
It is working although undocumented. It appears that Forgejo Actions users depend on it and breaking it would meet some non negligible push back. This test ensures that future Forgejo runner versions do not break what is working. This came to light because some fixes are necessary to the schema validation to allow for that to keep working (see https://code.forgejo.org/forgejo/act/pulls/194).
Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/839
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
test to verify that a cache stored in one repo can't be restored in another
Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/557
Reviewed-by: Gusted <gusted@noreply.code.forgejo.org>
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
Co-authored-by: Kwonunn <kwonunnx@gmail.com>
Co-committed-by: Kwonunn <kwonunnx@gmail.com>
ACT is expected to provide an LXC backend with node pre-installed by default to allow for running commonly used actions written in JS.
It also includes an upgrade to setup-forgejo 2.0.8 which contains a fix to teardown the runner properly even in the event where it contains files owned by root. This happens when running a workflow within a LXC container.
Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/522
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
It is a feature and best tested in Forgejo itself, not in
end-to-end. It is a recurring source of false negative and there is
little to no value is fixing the associated border case because it
only applies to short lived Forgejo instances used during tests.
Fixes: https://code.forgejo.org/forgejo/end-to-end/issues/431
The Forgejo instance completed the echo test successfully, there must
be a log at some point. But since Forgejo is still running, it may not
had time to write the logs just yet. Retry instead of giving up
immediately.
There is no guarantee that a test will not reset the actions logs from a
previous test. Since logs-compression depends on the logs from the
echo test, make that dependency explicit.
The log path depends on the previous actions run and may not always
be 01/1.log.zst. Assuming it is makes this test fragile as it is
influenced by which previous tests are run and what they do.
In the lifecycle of vX.Y.Z, all tests are run against vX.Y-test
before it is published, including when the tag is pushed because the
automated release process now runs end-to-end before pushing the
release to forgejo-experimental.
Running end-to-end against vX.Y-dev is therefore redundant with at least
two other runs with exactly the same SHA (the one before the tag is
pushed and the one when the tag is pushed). There would be value in
doing that if it allowed to detect race conditions in Forgejo. But
such races were not found in the past six months and there is a lot
more scrutiny on commits merged in Forgejo which makes it even less
likely than it was before.
Running the tests on vX.Y instead of also including the built version
provide the same coverage and reduces the workload.
/repos/{owner}/{repo}/actions/workflows/{workflowname}/dispatches
* fails if the required inputs are not provided
* sets defaults to inputs that are not provided
The type of inputs are only used for building the web UI interface,
not for validation. All values are strings.