2023-03-29 15:16:26 +00:00
|
|
|
name: 'Forgejo release download and upload'
|
2023-03-26 15:41:37 +00:00
|
|
|
author: 'Forgejo authors'
|
|
|
|
description: |
|
2023-03-29 15:16:26 +00:00
|
|
|
Upload or download the assets of a release to a Forgejo instance.
|
|
|
|
inputs:
|
|
|
|
url:
|
|
|
|
description: 'URL of the Forgejo instance'
|
|
|
|
repo:
|
|
|
|
description: 'owner/project relative to the URL'
|
|
|
|
tag:
|
|
|
|
description: 'Tag of the release'
|
2023-03-29 17:29:24 +00:00
|
|
|
sha:
|
|
|
|
description: 'SHA of the release'
|
2023-03-29 15:16:26 +00:00
|
|
|
doer:
|
|
|
|
description: 'Forgejo user authoring the upload'
|
|
|
|
token:
|
|
|
|
description: 'Forgejo application token'
|
|
|
|
required: true
|
|
|
|
release-dir:
|
|
|
|
description: 'Directory in whichs release assets are uploaded or downloaded'
|
|
|
|
required: true
|
2023-03-29 21:59:02 +00:00
|
|
|
release-notes:
|
|
|
|
description: 'Release notes'
|
2023-03-29 15:16:26 +00:00
|
|
|
direction:
|
|
|
|
description: 'Can either be download or upload'
|
|
|
|
required: true
|
|
|
|
verbose:
|
|
|
|
description: 'Increase the verbosity level'
|
|
|
|
default: 'false'
|
|
|
|
|
2023-03-26 15:41:37 +00:00
|
|
|
runs:
|
|
|
|
using: "composite"
|
|
|
|
steps:
|
|
|
|
- run: echo "${{ github.action_path }}" >> $GITHUB_PATH
|
|
|
|
shell: bash
|
2023-03-29 15:16:26 +00:00
|
|
|
- run: |
|
|
|
|
export FORGEJO="${{ inputs.url }}"
|
2023-03-30 06:52:59 +00:00
|
|
|
if test -z "$FORGEJO"; then
|
2023-03-30 13:37:51 +00:00
|
|
|
export FORGEJO="${{ env.GITHUB_SERVER_URL }}"
|
2023-03-30 06:52:59 +00:00
|
|
|
fi
|
2023-03-30 13:37:51 +00:00
|
|
|
# A trailing / will mean http://forgejo//api/v1 is used
|
|
|
|
# and it always 401 as of v1.19, because of the double slash
|
|
|
|
FORGEJO=${FORGEJO%%/}
|
2023-03-29 15:16:26 +00:00
|
|
|
export REPO="${{ inputs.repo }}"
|
2023-03-30 06:52:59 +00:00
|
|
|
if test -z "$REPO"; then
|
|
|
|
export REPO="${{ github.repository }}"
|
|
|
|
fi
|
2023-03-29 15:16:26 +00:00
|
|
|
export TAG="${{ inputs.tag }}"
|
2023-03-30 12:18:23 +00:00
|
|
|
if test -z "$TAG"; then
|
|
|
|
export TAG="${{ github.ref_name }}"
|
|
|
|
fi
|
2023-03-29 15:16:26 +00:00
|
|
|
export DOER="${{ inputs.doer }}"
|
|
|
|
export TOKEN="${{ inputs.token }}"
|
2023-03-30 06:52:59 +00:00
|
|
|
if test -z "$TOKEN"; then
|
|
|
|
export TOKEN="${{ github.token }}"
|
|
|
|
fi
|
|
|
|
if test -z "$TOKEN"; then
|
|
|
|
export TOKEN="${{ secrets.GITHUB_TOKEN }}"
|
|
|
|
fi
|
|
|
|
test "$TOKEN"
|
2023-03-29 15:16:26 +00:00
|
|
|
export RELEASE_DIR="${{ inputs.release-dir }}"
|
2023-03-29 21:59:02 +00:00
|
|
|
export RELEASENOTES="${{ inputs.release-notes }}"
|
2023-03-29 15:16:26 +00:00
|
|
|
export VERBOSE="${{ inputs.verbose }}"
|
2023-03-30 06:52:59 +00:00
|
|
|
|
2023-03-29 17:29:24 +00:00
|
|
|
export SHA="${{ inputs.sha }}"
|
|
|
|
if test -z "$SHA"; then
|
|
|
|
export SHA="${{ github.sha }}"
|
|
|
|
fi
|
2023-03-29 15:16:26 +00:00
|
|
|
forgejo-release.sh ${{ inputs.direction }}
|
|
|
|
shell: bash
|