Find a file
Jack Greiner 067e18fae2
forgejo-release.sh: Improve support for different Linux bases
Currently if you run this action and aren't using a Debian based runner you need to install all tools ahead of time or the Action fails.

This should improve the behaviour so that it will attempt to install all dependencies on a best effort basis.
2025-10-07 04:54:54 -04:00
.forgejo/workflows Update https://code.forgejo.org/actions/setup-forgejo action to v3.0.4 (#93) 2025-09-20 16:21:57 +00:00
testdata Update https://code.forgejo.org/actions/setup-forgejo action to v3.0.4 (#93) 2025-09-20 16:21:57 +00:00
.editorconfig fix: support slashes in tags (#62) 2025-07-25 06:50:17 +00:00
.gitignore Add support for files with spaces in their names (#24) 2024-12-09 05:38:35 +00:00
action.yml fix: do not preserve spaces in the token (#80) 2025-08-05 14:01:06 +00:00
forgejo-release.sh forgejo-release.sh: Improve support for different Linux bases 2025-10-07 04:54:54 -04:00
LICENSE LICENSE is MIT 2023-04-01 11:12:56 +02:00
README.md Update dependency actions/forgejo-release to v2.7.3 (#89) 2025-09-11 04:50:37 +00:00
renovate.json Migrate config renovate.json 2025-05-05 01:03:45 +00:00

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 ${{ env.GITHUB_SERVER_URL }}
repo

owner/project relative to the URL

false ${{ github.repository }}
tag

Tag of the release

false ${{ github.ref_name }}
title

Title of the release (defaults to tag)

false ""
sha

SHA of the release

false ${{ github.sha }}
token

Forgejo application token

false ${{ secrets.GITHUB_TOKEN }}
release-dir

Directory in whichs release assets are uploaded or downloaded

true ""
release-notes

Release notes

false ""
direction

Can either be download or upload

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 {tag}

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):

jobs:
  upload-release:
    runs-on: docker
    steps:
      - uses: actions/checkout@v4
      - uses: actions/forgejo-release@v2.7.3
        with:
          direction: upload
          url: https://my-forgejo-instance.net
          repo: myuser/myrepo
          token: ${{ secrets.WRITE_TOKEN_TO_MYREPO }}
          tag: v1.0.0
          release-dir: dist/release
          release-notes: "MY RELEASE NOTES"

Download

Example downloading the forgejo release v1.21.4-0 into the working directory:

jobs:
  download-release:
    runs-on: docker
    steps:
      - uses: actions/checkout@v4
      - uses: actions/forgejo-release@v2.7.3
        with:
          direction: download
          url: https://my-forgejo-instance.net
          repo: myuser/myrepo
          token: ${{ secrets.READ_TOKEN_TO_MYREPO }}
          tag: v1.0.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