Skip to content

Latest commit

 

History

History
218 lines (162 loc) · 17.7 KB

File metadata and controls

218 lines (162 loc) · 17.7 KB

Icon GitHub Action: Release - Create

Release - Create

Marketplace Release License Stars PRs Welcome GitHub Verified Creator

Overview

Create or refresh a GitHub release from Release Drafter or from explicit release inputs. The release is published by default after optional changelog summarization and asset upload succeed.

Usage

- uses: hoverkraft-tech/ci-github-publish/actions/release/create@b2562b46714e535a0113f90f554b55e1248212c1 # 0.26.3
  with:
    # Whether the release is a prerelease
    # Default: `false`
    prerelease: "false"

    # Working directory used to scope release automation in a monorepo.
    # If specified, the action looks for `.github/release-configs/{slug}.yml`, where `slug` is derived from the working directory basename.
    # If that file does not exist, a temporary release configuration is generated with `include-paths` for the working directory and current workflow file.
    working-directory: ""

    # Additional paths to include in the release notes filtering (JSON array).
    # These paths are added to the `include-paths` configuration of release-drafter.
    #
    # Default: `[]`
    include-paths: "[]"

    # Release tag name to use in explicit mode
    tag: ""

    # Optional commit SHA or branch name to target when explicit mode creates a release for a tag that does not already exist. Forwarded to Release Drafter as `commitish`.
    target-sha: ""

    # GitHub Token for creating the draft release.
    # Permissions:
    # - contents: write
    # - pull-requests: read
    #
    # Default: `${{ github.token }}`
    github-token: ${{ github.token }}

    # Skip creating or updating the draft release when no changes are detected since the latest relevant published release.
    # In Release Drafter mode, detection respects the configured release filters such as `working-directory` and `include-paths`.
    #
    # Default: `false`
    skip-if-no-changes: "false"

    # Optional JSON-serialized configuration used to generate and prepend a release summary to the drafted release notes.
    # When provided, the action summarizes the changelog body returned by release-drafter, then updates the draft release body to include the summary above the full changelog.
    # Supported properties:
    # - llmAuth (required)
    # - llmProvider (optional, default: `openai`)
    # - llmModel (optional, default: `gpt-5.4`)
    # - llmConfig (optional object or JSON string forwarded to `release/summarize-changelog`)
    # - workingDirectory (optional, default: `working-directory` input or `.`)
    # - summaryTemplate (optional template forwarded to `release/summarize-changelog`)
    #
    # See: [`release/summarize-changelog` action inputs](../summarize-changelog/README.md) for details on the summarization configuration.
    #
    # Example value:
    #
    # ```json
    # {
    # "llmAuth": "$\{{ secrets.OPENAI_API_KEY }}",
    # "llmProvider": "openai",
    # "llmModel": "gpt-5.4",
    # }
    # ```
    changelog-summary: ""

    # Optional workflow artifact ID containing files to upload as GitHub release assets after the draft release is created or updated.
    # The artifact is downloaded automatically before upload.
    # Prefer `actions/release/update` when you only need to mutate an existing release.
    release-artifact-id: ""

    # Whether to publish the release after changelog and asset updates succeed.
    # When disabled, the release remains a draft.
    #
    # Default: `true`
    publish: "true"

Inputs

Input Description Required Default
prerelease Whether the release is a prerelease false false
working-directory Working directory used to scope release automation in a monorepo. false -
If specified, the action looks for .github/release-configs/{slug}.yml, where slug is derived from the working directory basename.
If that file does not exist, a temporary release configuration is generated with include-paths for the working directory and current workflow file.
include-paths Additional paths to include in the release notes filtering (JSON array). false []
These paths are added to the include-paths configuration of release-drafter.
tag Release tag name to use in explicit mode false -
target-sha Optional commit SHA or branch name to target when explicit mode creates a release for a tag that does not already exist. Forwarded to Release Drafter as commitish. false -
github-token GitHub Token for creating the draft release. false ${{ github.token }}
Permissions:
- contents: write
- pull-requests: read
skip-if-no-changes Skip creating or updating the draft release when no changes are detected since the latest relevant published release. false false
In Release Drafter mode, detection respects the configured release filters such as working-directory and include-paths.
changelog-summary Optional JSON-serialized configuration used to generate and prepend a release summary to the drafted release notes. false -
When provided, the action summarizes the changelog body returned by release-drafter, then updates the draft release body to include the summary above the full changelog.
Supported properties:
- llmAuth (required)
- llmProvider (optional, default: openai)
- llmModel (optional, default: gpt-5.4)
- llmConfig (optional object or JSON string forwarded to release/summarize-changelog)
- workingDirectory (optional, default: working-directory input or .)
- summaryTemplate (optional template forwarded to release/summarize-changelog)
See: release/summarize-changelog action inputs for details on the summarization configuration.
Example value:
{
 "llmAuth": "${{ secrets.OPENAI_API_KEY }}",
 "llmProvider": "openai",
 "llmModel": "gpt-5.4",
}
release-artifact-id Optional workflow artifact ID containing files to upload as GitHub release assets after the draft release is created or updated. false -
The artifact is downloaded automatically before upload.
Prefer actions/release/update when you only need to mutate an existing release.
publish Whether to publish the release after changelog and asset updates succeed. false true
When disabled, the release remains a draft.

Outputs

Output Description
tag The tag of the release

This action creates or refreshes the release as a draft first, then publishes it by default after all requested summary and asset updates succeed. Set publish to false to keep the release as a draft.

When changelog-summary is provided, the action summarizes the drafted changelog body with release/summarize-changelog and prepends the generated summary above the drafted release notes.

When release-artifact-id is provided, the action uploads the downloaded artifact files as release assets during release creation or refresh.

For mutating an existing release after creation, prefer release/update.

Contributing

Contributions are welcome! Please see the contributing guidelines for more details.

License

This project is licensed under the MIT License.

SPDX-License-Identifier: MIT

Copyright © 2026 hoverkraft

For more details, see the license.


This documentation was automatically generated by CI Dokumentor.