1
0
Fork 0
mirror of https://code.forgejo.org/actions/setup-forgejo synced 2024-09-19 01:46:16 +00:00
setup-forgejo/action.yml

77 lines
3 KiB
YAML
Raw Normal View History

2023-03-25 13:44:02 +00:00
name: 'Setup Forgejo'
2023-03-25 21:53:12 +00:00
author: 'Forgejo authors'
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`.
* `forgejo-test-helper.sh push testrepo $forgejo root testrepo`
Create the repository `$forgejo/root/testrepo` and populate it with the
2023-03-29 21:33:49 +00:00
content of the `testrepo` directory. The SHA of the tip of the repository
is in the output, starting with `sha=`.
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.
2023-03-24 14:59:04 +00:00
inputs:
2023-03-25 21:53:12 +00:00
image:
description: 'Container image'
default: 'codeberg.org/forgejo/forgejo'
image-version:
description: 'Container image version'
default: '1.19'
2023-03-25 22:15:29 +00:00
user:
description: 'Administrator user name'
default: 'root'
password:
description: 'Administrator password'
default: 'admin1234'
2023-03-25 21:53:12 +00:00
runner:
description: 'Runner git repository'
2023-03-27 17:39:19 +00:00
default: 'https://code.forgejo.org/forgejo/runner'
2023-03-25 21:53:12 +00:00
runner-version:
description: 'Runner version'
default: 'v1.4.1'
2023-03-24 14:59:04 +00:00
outputs:
2023-03-25 21:53:12 +00:00
url:
2023-03-27 15:36:59 +00:00
description: "URL of the Forgejo instance"
2023-03-27 14:43:26 +00:00
value: "${{ steps.forgejo.outputs.url }}"
host-port:
2023-03-27 15:36:59 +00:00
description: "Host and port of the Forgejo instance, e.g 172.0.17.2:3000"
2023-03-27 14:43:26 +00:00
value: "${{ steps.forgejo.outputs.host-port }}"
2023-03-25 22:15:29 +00:00
token:
2023-03-27 15:36:59 +00:00
description: "Administrator application token with all,sudo scopes"
2023-03-27 14:43:26 +00:00
value: "${{ steps.forgejo.outputs.token }}"
2023-03-27 15:36:59 +00:00
runner-logs:
description: "Filename of the Forgejo runner logs"
value: "${{ steps.forgejo.outputs.runner-logs }}"
2023-03-24 14:59:04 +00:00
runs:
using: "composite"
steps:
2023-03-25 18:07:46 +00:00
- run: echo "${{ github.action_path }}" >> $GITHUB_PATH
shell: bash
2023-03-25 21:53:12 +00:00
- id: forgejo
run: |
cd $(mktemp -d)
2023-03-25 17:50:36 +00:00
dependencies.sh
2023-03-25 22:15:29 +00:00
forgejo.sh setup ${{ inputs.user }} "${{ inputs.password }}" ${{ inputs.image }}:${{ inputs.image-version }}
2023-03-27 17:39:19 +00:00
forgejo-runner.sh setup ${{ inputs.runner }} ${{ inputs.runner-version }} http://$(cat forgejo-ip):3000/
2023-03-25 21:53:12 +00:00
echo url="http://$(cat forgejo-ip):3000" >> $GITHUB_OUTPUT
2023-03-27 14:43:26 +00:00
echo host-port="$(cat forgejo-ip):3000" >> $GITHUB_OUTPUT
2023-03-25 22:15:29 +00:00
echo token=$(cat forgejo-token) >> $GITHUB_OUTPUT
2023-03-27 15:36:59 +00:00
echo runner-logs="$(pwd)/forgejo-runner.log" >> $GITHUB_OUTPUT
2023-03-24 14:59:04 +00:00
shell: bash