Reviewed-on: https://code.forgejo.org/actions/setup-forgejo/pulls/893 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Co-authored-by: Renovate Bot <bot@kriese.eu> Co-committed-by: Renovate Bot <bot@kriese.eu> |
||
|---|---|---|
| .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
| name | description | required | default |
|---|---|---|---|
image |
Container image |
false |
code.forgejo.org/forgejo/forgejo |
image-version |
Container image version |
false |
7.0 |
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 |
v12.6.4 |
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
| name | 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: 7.0
- run: |
curl ${{ steps.forgejo.outputs.url }}/api/forgejo/v1/version | grep 7.0
Documentation
Update the README from the action file with https://github.com/npalm/action-docs action-docs --update-readme