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