- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
## Testing This is a copy/paste of an existing pull request verified to work forgejo/runner#476 ## Description When there are multiple PRs in flight, using a var to disable the cascading PR that eventually runs the end to end tests (for instance because the change is about examples) is error prone. Allowing each pull request to indivudually decide when it is relevant or not is more practical and fine grain. Reviewed-on: actions/setup-forgejo#313 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> |
||
| .forgejo | ||
| testdata | ||
| utils | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| action.yml | ||
| forgejo-binary-app.ini | ||
| forgejo-binary.sh | ||
| forgejo-curl.sh | ||
| forgejo-dependencies.sh | ||
| forgejo-lib.sh | ||
| forgejo-runner.sh | ||
| forgejo-test-helper.sh | ||
| forgejo.sh | ||
| LICENSE | ||
| lxc-helpers-lib.sh | ||
| lxc-helpers.sh | ||
| README.md | ||
| renovate.json | ||
| runner-config.yaml | ||
| RUNNER_REPOSITORY | ||
| RUNNER_VERSION | ||
setup-forgejo
- v1: only supports running Forgejo from container images
- v2: only supports running Forgejo from binaries
Description
Setup Forgejo and a runner.
If binary is specified, Forgejo downloads the binary from the URL and uses
it to start an instance.
Otherwise, image and image-version must be specified and Forgejo
runs from the corresponding container image using docker.
The forgejo-test-helper.sh script is available to help test and debug actions.
forgejo=http://root:admin1234@${{ steps.forgejo.outputs.host-port }}
forgejo-test-helper.sh push_self_action $forgejo root myaction vTestCreates the repository$forgejo/root/myactionand populates it with the content of the repository under test, except for the.forgejodirectory (it would otherwise create an infinite loop). The tagvTestis set to the SHA under test.forgejo-test-helper.sh run_workflow testrepo $forgejo root testrepo myactionCreates the repository$forgejo/root/testrepoand populates it with the content of thetestrepodirectory. All occurrences ofSELFintestrepo/.forgejo/workflows/*.ymlare replaced with$forgejo/root/myaction.forgejo-test-helper.sh push testrepo $forgejo root testrepoCreates the repository$forgejo/root/testrepoand populates it with the content of thetestrepodirectory.
The combination of push_self_action and run_workflow allows to
run Forgejo Actions workflows from testrepo that use the action
under test (myaction) to verify it works as intended.
The forgejo-curl.sh script is logged in the instance and ready to be used with web or api endpoints.
It can only be used in a job with a runs-on label that designates a Forgejo runner
that provides a LXC container.
Inputs
| parameter | description | required | default |
|---|---|---|---|
| image | Container image | false |
codeberg.org/forgejo/forgejo |
| image-version | Container image version | false |
1.20 |
| binary | URL to a Forgejo binary | false |
|
| user | Administrator user name | false |
root |
| password | Administrator password | false |
admin1234 |
| runner | Runner repository | false |
https://code.forgejo.org/forgejo/runner |
| runner-version | Runner version. If it starts with @ (for instance @featurebranch), the runner will be built from source using the specified branch. | false |
v6.2.1 |
| container | Name of the container running the Forgejo instance | false |
forgejo |
| lxc-ip-prefix | Class C IP prefix used by LXC | false |
10.0.23 |
| install-only | Only install Forgejo and the Forgejo runner, do not launch them | false |
false |
Outputs
| parameter | description |
|---|---|
| url | URL of the Forgejo instance |
| host-port | Host and port of the Forgejo instance, e.g 172.0.17.2:3000 |
| token | Administrator application token with all scopes |
| runner-logs | Filename of the Forgejo runner logs |
| runner-file | Path to the runner file |
Example
name: Setup Forgejo
on: [push]
jobs:
setup-forgejo:
runs-on: lxc
steps:
- uses: actions/checkout@v4
- id: forgejo
uses: actions/setup-forgejo@v1
with:
image-version: 1.20
- run: |
curl ${{ steps.forgejo.outputs.url }}/api/forgejo/v1/version | grep 1.20
Documentation
Update the README from the action file with https://github.com/npalm/action-docs action-docs --update-readme