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.