mirror of
https://code.forgejo.org/actions/setup-forgejo.git
synced 2024-11-23 16:41:00 -05:00
Create a Forgejo instance and a runner
75cc10f9ca
Reviewed-on: https://code.forgejo.org/actions/setup-forgejo/pulls/101 Reviewed-by: dachary <dachary@noreply.code.forgejo.org> |
||
---|---|---|
.forgejo | ||
testdata | ||
utils | ||
.gitignore | ||
.gitmodules | ||
action.yml | ||
forgejo-curl.sh | ||
forgejo-dependencies.sh | ||
forgejo-runner-lib.sh | ||
forgejo-runner.sh | ||
forgejo-test-helper.sh | ||
forgejo.sh | ||
LICENSE | ||
lxc-helpers-lib.sh | ||
lxc-helpers.sh | ||
README.md | ||
runner-config.yaml | ||
RUNNER_REPOSITORY | ||
RUNNER_VERSION |
setup-forgejo
Description
Setup Forgejo and a runner.
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 vTest
Creates the repository$forgejo/root/myaction
and populates it with the content of the repository under test, except for the.forgejo
directory (it would otherwise create an infinite loop). The tagvTest
is set to the SHA under test.forgejo-test-helper.sh run_workflow testrepo $forgejo root testrepo myaction
Creates the repository$forgejo/root/testrepo
and populates it with the content of thetestrepo
directory. All occurrences ofSELF
intestrepo/.forgejo/workflows/*.yml
are replaced with$forgejo/root/myaction
.forgejo-test-helper.sh push testrepo $forgejo root testrepo
Creates the repository$forgejo/root/testrepo
and populates it with the content of thetestrepo
directory.
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 |
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 |
v3.0.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