If the tag to be set is exactly the same as the tag that exists, do not delete it. When the tag is recreated although it is not necessary, it may trigger workflows that have already been triggered and send the workflow in a loop. - split `get_tag` & `matched_tag` out of ensure_tag - in case of an override, only delete the tag if it fails `matched_tag` - trace shell lines to help debug - add testing  | 
			||
|---|---|---|
| .forgejo/workflows | ||
| testdata | ||
| .editorconfig | ||
| .gitignore | ||
| action.yml | ||
| forgejo-release.sh | ||
| LICENSE | ||
| README.md | ||
| renovate.json | ||
forgejo-release
Description
Upload or download the assets of a release to a Forgejo instance.
Inputs
| name | description | required | default | 
|---|---|---|---|
url | 
URL of the Forgejo instance  | 
false | 
"" | 
repo | 
owner/project relative to the URL  | 
false | 
"" | 
tag | 
Tag of the release  | 
false | 
"" | 
title | 
Title of the release (defaults to tag)  | 
false | 
"" | 
sha | 
SHA of the release  | 
false | 
"" | 
token | 
Forgejo application token  | 
true | 
"" | 
release-dir | 
Directory in whichs release assets are uploaded or downloaded  | 
true | 
"" | 
release-notes | 
Release notes  | 
false | 
"" | 
direction | 
Can either be   | 
true | 
"" | 
gpg-private-key | 
GPG Private Key to sign the release artifacts  | 
false | 
"" | 
gpg-passphrase | 
Passphrase of the GPG Private Key  | 
false | 
"" | 
download-retry | 
Number of times to retry if the release is not ready (default 1)  | 
false | 
"" | 
download-latest | 
Download the latest release  | 
false | 
false | 
verbose | 
Increase the verbosity level  | 
false | 
false | 
override | 
Override an existing release by the same   | 
false | 
false | 
prerelease | 
Mark Release as Pre-Release  | 
false | 
false | 
release-notes-assistant | 
Generate release notes with Release Notes Assistant  | 
false | 
false | 
hide-archive-link | 
Hide the archive links  | 
false | 
false | 
Examples
Upload
Upload the release located in release-dir to the release section of a repository (url and repo):
on: [tag]
jobs:
  upload-release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/forgejo-release@v2
        with:
          direction: upload
          url: https://code.forgejo.org
          release-dir: dist/release
          release-notes: "MY RELEASE NOTES"
Download
Example downloading the forgejo release v1.21.4-0 into the working directory:
on: [tag]
jobs:
  download-release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/forgejo-release@v2
        with:
          direction: download
          url: https://code.forgejo.org
          repo: forgejo/forgejo
          tag: v1.21.4-0
          release-dir: ./  # by default, files are downloaded into dist/release
Real world example
This action is used to publish the release notes assistant assets.
Update the input section of the README
Using action-docs:
# Edit the action.yml file and run:
action-docs --update-readme