Skip to content

cssnr/draft-release-action

Repository files navigation

GitHub Tag Major GitHub Tag Minor GitHub Release Version GitHub Dist Size Workflow Release Workflow Lint Workflow Test Quality Gate Status GitHub Last Commit Codeberg Last Commit GitHub Repo Size GitHub Top Language GitHub Contributors GitHub Issues GitHub Discussions GitHub Forks GitHub Repo Stars GitHub Org Stars Discord Ko-fi

Draft Release Action

This action will keep a release drafted, with the next semantic version, and auto-generated release notes.

Want to see more feature? Request one...

Inputs

Input Req. Default Value Input Description
semver - prerelease Semantaic Version to Incriment
identifier - beta Prerelease Tag to Append
prerelease - true Set Draft as Prerelease
prefix - - Release Tag Prefix
summary - true Add Job Summary to Workflow
token - github.token Only for Use with a PAT

semver: This is the string passed to semver.inc() to determine which version to increment. For more details, see the docs.

👀 View Example Job Summary

Coming Soon...


With no inputs this will keep a pre-release drafted with the prerelease version incremented.

- name: 'Draft Release Action'
  uses: cssnr/draft-release-action@master

Permissions

This action requires the following permissions to draft releases:

permissions:
  contents: write

Permissions documentation for Workflows and Actions.

Outputs

Output Description
release Release JSON Object
url Release HTML URL
- name: 'Draft Release Action'
  id: draft
  uses: cssnr/draft-release-action@master

- name: 'Echo Output'
  env:
    RELEASE: ${{ steps.draft.outputs.release }}
  run: |
    echo "url: '${{ steps.draft.outputs.url }}'"
    echo "commit: ${RELEASE}"

Examples

💡 Click on an example heading to expand or collapse the example.

This workflow will keep a new draft up-to-date on every push to master.

name: 'Draft Release'

on:
  workflow_dispatch:
  push:
    branches: ['master']

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  draft:
    name: 'Draft Release'
    runs-on: ubuntu-latest
    timeout-minutes: 5
    permissions:
      contents: write

    steps:
      - name: 'Checkout'
        uses: actions/checkout@v4

      - name: 'Draft Release Action'
        id: draft
        uses: cssnr/draft-release-action@master

      - name: 'Process Release Draft URL'
        run: |
          echo "url: ${{ steps.draft.outputs.url }}"

This workflow example is available here: .github/example/draft.yaml

For more examples, you can check out other projects using this action:
https://github.com/cssnr/draft-release-action/network/dependents

Tags

The following rolling tags are maintained.

Version Tag Rolling Bugs Feat. Name Target Example
GitHub Tag Major Major vN.x.x vN
GitHub Tag Minor Minor vN.N.x vN.N
GitHub Release Micro vN.N.N vN.N.N

You can view the release notes for each version on the releases page.

The Major tag is recommended. It is the most up-to-date and always backwards compatible. Breaking changes would result in a Major version bump. At a minimum you should use a Minor tag.

Support

If you run into any issues or need help getting started, please do one of the following:

Features Issues Discussions Discord

Contributing

If you would like to submit a PR, please review the CONTRIBUTING.md.

Please consider making a donation to support the development of this project and additional open source projects.

Ko-fi

Actions Tools

Additionally, you can support other GitHub Actions I have published:

❔ Unpublished Actions

These actions are not published on the Marketplace, but may be useful.


📝 Template Actions

These are basic action templates that I use for creating new actions.

Note: The docker-test-action builds, runs and pushes images to GitHub Container Registry.


For a full list of current projects visit: https://cssnr.github.io/

Star History Chart

Sponsor this project

Contributors