Skip to main content

GitHub Releases

Releases provide a record of each version with downloadable artifacts and release notes. This guide covers creating releases and configuring automatic release notes.

Creating Releases

Use the repository-release action after cutting a version tag:

- name: Create release
uses: p6m-actions/repository-release@v1
with:
tag: ${{ steps.tag.outputs.tag }}
name: Release ${{ steps.tag.outputs.version }}
generate-release-notes: true
make-latest: true
artifacts: digest.txt

Release Artifacts

Include artifacts that downstream workflows need:

ArtifactPurpose
digest.txtImage digest for promotion workflow
ChangelogHuman-readable change summary
Build metadataBuild info for debugging

The promotion workflow downloads digest.txt to get the exact image to deploy.

Automatic Release Notes

GitHub can generate release notes from merged pull requests:

- uses: p6m-actions/repository-release@v1
with:
generate-release-notes: true

Configuring Categories

Create .github/release.yml to organize changes by label:

changelog:
categories:
- title: Features
labels:
- enhancement
- title: Bug Fixes
labels:
- bug
- title: Documentation
labels:
- documentation

Prerelease Versions

For alpha, beta, or release candidate versions, mark the release as a prerelease:

- uses: p6m-actions/repository-release@v1
with:
tag: ${{ steps.tag.outputs.tag }}
prerelease: true

This produces versions like 1.2.0-rc.1 that won't be marked as the latest release.