MIRROR: Manage release on a Forgejo instance
Find a file
2025-04-12 13:33:43 +02:00
.forgejo/workflows Update actions/setup-forgejo action to v2.0.4 2024-12-08 00:02:10 +00:00
testdata fix: the tag cache must be deleted when the tag is deleted 2025-02-23 23:52:48 +01:00
.editorconfig feat: add .editorconfig 2024-11-04 11:07:42 +01:00
.gitignore Add support for files with spaces in their names (#24) 2024-12-09 05:38:35 +00:00
action.yml feat: add default token and document default values (#44) 2025-04-07 06:35:43 +00:00
forgejo-release.sh fix: the tag cache must be deleted when the tag is deleted 2025-02-23 23:52:48 +01:00
LICENSE LICENSE is MIT 2023-04-01 11:12:56 +02:00
README.md chore: update the example to refer to v2.6.0 2025-04-12 13:24:33 +02:00
renovate.json chore: teach renovate to update the example version 2025-04-12 13:33:43 +02: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.6.0
        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.6.0
        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