setup-forgejo/README.md
2023-03-29 16:12:44 +02:00

75 lines
2.4 KiB
Markdown

# setup-forgejo
<!-- action-docs-description -->
## 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 tag `vTest` 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 the `testrepo` directory. All occurrences of `SELF` in
`testrepo/.forgejo/workflows/*.yml` are replaced with `$forgejo/root/myaction`.
This combination allows to run Forgejo Actions workflows from
`testrepo` that use the action under test (`myaction`) to verify it
works as intended.
<!-- action-docs-description -->
It can only be run on the `self-hosted` platform, running on a host with LXC installed.
<!-- action-docs-inputs -->
## 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.4.1 |
<!-- action-docs-inputs -->
<!-- action-docs-outputs -->
## 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 |
<!-- action-docs-outputs -->
## Example
```
name: Setup Forgejo
on: [push]
jobs:
setup-forgejo:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- id: forgejo
uses: 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`