# SPDX-License-Identifier: MIT # # https://code.forgejo.org/forgejo/runner # # Build the runner binaries and OCI images # # ROLE: forgejo-integration # DOER: forgejo-ci # TOKEN: # name: Build release on: push: tags: - 'v*' jobs: release: runs-on: self-hosted # root is used for testing, allow it if: secrets.ROLE == 'forgejo-integration' || github.repository_owner == 'root' steps: - uses: actions/checkout@v4 - name: Increase the verbosity when there are no secrets id: verbose run: | if test -z "${{ secrets.TOKEN }}"; then value=true else value=false fi echo "value=$value" >> "$GITHUB_OUTPUT" - name: Sanitize the name of the repository id: repository run: | echo "value=${GITHUB_REPOSITORY##*/}" >> "$GITHUB_OUTPUT" - name: create test TOKEN id: token if: ${{ secrets.TOKEN == '' }} run: | apt-get -qq install -y jq url="${{ env.GITHUB_SERVER_URL }}" hostport=${url##http*://} hostport=${hostport%%/} doer=root api=http://$doer:admin1234@$hostport/api/v1/users/$doer/tokens curl -sS -X DELETE $api/release token=$(curl -sS -X POST -H 'Content-Type: application/json' --data-raw '{"name": "release", "scopes": ["all"]}' $api | jq --raw-output .sha1) echo "value=${token}" >> "$GITHUB_OUTPUT" - name: version from ref_name id: tag-version run: | version=${GITHUB_REF_NAME##*v} echo "value=$version" >> "$GITHUB_OUTPUT" - name: release notes id: release-notes run: | anchor=${{ steps.tag-version.outputs.value }} anchor=${anchor//./-} cat >> "$GITHUB_OUTPUT" <