mirror of
https://code.forgejo.org/actions/setup-forgejo.git
synced 2024-11-23 18:40:58 -05:00
Create a Forgejo instance and a runner
.forgejo/workflows | ||
testdata | ||
.gitignore | ||
action.yml | ||
forgejo-dependencies.sh | ||
forgejo-runner.sh | ||
forgejo-test-helper.sh | ||
forgejo.sh | ||
LICENSE | ||
README.md |
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 populate it with the content of the repository under test, except for the.forgejo
directory (it would otherwise create an infinite recursion loop). The tagvTest
is set to the SHA under test.forgejo-test-helper.sh run_workflow testrepo $forgejo root testrepo myaction
Create the repository$forgejo/root/testrepo
and populate 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
Create the repository$forgejo/root/testrepo
and populate it with the content of thetestrepo
directory. The SHA of the tip of the repository is in the output, starting withsha=
.
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.
It can only be run on the self-hosted
platform, running on a host with LXC installed.
Inputs
parameter | description | required | default |
---|---|---|---|
image | Container image | false |
codeberg.org/forgejo/forgejo |
image-version | Container image version | false |
1.19 |
user | Administrator user name | false |
root |
password | Administrator password | false |
admin1234 |
runner | Runner git repository | false |
https://code.forgejo.org/forgejo/runner |
runner-version | Runner version | false |
v1.5.0 |
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 |
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,sudo scopes |
runner-logs | Filename of the Forgejo runner logs |
Example
name: Setup Forgejo
on: [push]
jobs:
setup-forgejo:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- id: forgejo
uses: actions/setup-forgejo@v1
with:
image-version: 1.19
- run: |
curl ${{ steps.forgejo.outputs.url }}/api/forgejo/v1/version | grep 1.19
Hacking
- Update the README from the action file with https://github.com/npalm/action-docs
action-docs --update-readme