.forgejo/workflows | ||
testdata | ||
.gitignore | ||
action.yml | ||
forgejo-release.sh | ||
LICENSE | ||
README.md |
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 |
Note on override
:
The override
option can lead to unexpected results when the workflow is triggered by on: release
or on: push: tags
.
The on: release
workflow trigger should be avoided when setting the override
option because it will cause an infinite loop of workflows when the release is overriden.
The override
option not only overrides an existing release, it will also recreate the tag if the SHA
which triggered the workflow does not match the SHA
of the existing release. Care should be taken when the workflow is triggered by on: push: tags
, as this can potentially cause an infinite loop if the tag is recreated.
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