Create a new release with generated release notes
Find a file
Marian e2f20dd9ce
fix: skip asset loop so releases without assets get published
The "Publish Forgejo Release" step passed `release-dir: ""` to
actions/forgejo-release@v2 to indicate there are no assets to upload.
That does not work: the action's script runs `: ${RELEASE_DIR:=dist/release}`,
and bash `${VAR:=default}` also fires on an empty value, so RELEASE_DIR
became `dist/release`. SKIP_ASSETS still defaulted to false, so the asset
loop ran `for file in dist/release/*`; with the directory absent and no
nullglob, it iterated once over the literal string `dist/release/*` and
ran `curl -F "attachment=@dist/release/*"`, which failed with
`curl: (26) Failed to open/read local data` and exited 1 -- after the
draft release was created but before it was published, so releases
silently never appeared.

Pass `skip-assets: "true"` instead, which skips the asset loop entirely
and lets the step publish the release.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 17:04:30 +02:00
action.yml fix: skip asset loop so releases without assets get published 2026-09-10 17:04:30 +02:00
README.md feat: initial commit 2025-12-30 14:05:30 +01:00
release-notes.config.js fix: execution order 2025-12-30 20:52:05 +01:00

Release · Create

A small Action that generates release notes from conventional commits and publishes a Forgejo release.

What it does

  • Generates release notes using conventional-changelog (configured via release-notes.config.js).
  • Publishes a release using actions/forgejo-release, uploading the generated notes and tagging the release.

Inputs

Note: The action uses ${{ secrets.GITHUB_TOKEN }} when publishing via actions/forgejo-release.

Usage

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
    - name: "Determine release version"
      id: "version"
      uses: "https://git.xiidoz.com/actions/release-determine-next-version@main"
      
    - name: "Create release"
      uses: "https://git.xiidoz.com/actions/release-create@main"
      with:
        version: "${{ steps.version.outputs.version }}"

For customization, edit release-notes.config.js to change changelog formatting or presets.