name: 'Setup Forgejo' author: 'Forgejo authors' description: 'Setup Forgejo and a runner' inputs: image: description: 'Container image' default: 'codeberg.org/forgejo/forgejo' image-version: description: 'Container image version' default: '1.19' user: description: 'Administrator user name' default: 'root' password: description: 'Administrator password' default: 'admin1234' runner: description: 'Runner git repository' default: 'https://code.forgejo.org/forgejo/runner' runner-version: description: 'Runner version' default: 'v1.4.1' outputs: url: description: "URL of the Forgejo instance" value: "${{ steps.forgejo.outputs.url }}" host-port: description: "Host and port of the Forgejo instance, e.g 172.0.17.2:3000" value: "${{ steps.forgejo.outputs.host-port }}" token: description: "Administrator application token with all,sudo scopes" value: "${{ steps.forgejo.outputs.token }}" runner-logs: description: "Filename of the Forgejo runner logs" value: "${{ steps.forgejo.outputs.runner-logs }}" runs: using: "composite" steps: - run: echo "${{ github.action_path }}" >> $GITHUB_PATH shell: bash - id: forgejo run: | cd $(mktemp -d) dependencies.sh forgejo.sh setup ${{ inputs.user }} "${{ inputs.password }}" ${{ inputs.image }}:${{ inputs.image-version }} forgejo-runner.sh setup ${{ inputs.runner }} ${{ inputs.runner-version }} http://$(cat forgejo-ip):3000/ echo url="http://$(cat forgejo-ip):3000" >> $GITHUB_OUTPUT echo host-port="$(cat forgejo-ip):3000" >> $GITHUB_OUTPUT echo token=$(cat forgejo-token) >> $GITHUB_OUTPUT echo runner-logs="$(pwd)/forgejo-runner.log" >> $GITHUB_OUTPUT shell: bash