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 Test Workflow lint Quality Gate Status GitHub Last Commit Codeberg Last Commit GitHub Top Language GitHub repo size GitHub Discussions GitHub Forks GitHub Repo Stars GitHub Org Stars Discord

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
prerelease - true Set Draft as Prerelease
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

For general help or to request a feature, see:

If you are experiencing an issue/bug or getting unexpected results, you can:

For more information, see the CSSNR SUPPORT.md.

Contributing

Currently, the best way to contribute to this project is to star this project on GitHub.

For more information, see the CSSNR CONTRIBUTING.md.

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

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published