Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 43 additions & 34 deletions actions/release/create/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ With optional changelog summarization prepended to the published notes.
## Usage

````yaml
- uses: hoverkraft-tech/ci-github-publish/actions/release/create@6a2562a3f4409f39c7fab100636a90430ee0a8cf # 0.24.0
- uses: hoverkraft-tech/ci-github-publish/actions/release/create@115bdace124ae4ca071f15fea7f5cab8f515ba5a
with:
# Whether the release is a prerelease
# Default: `false`
Expand Down Expand Up @@ -68,6 +68,12 @@ With optional changelog summarization prepended to the published notes.
# Default: `${{ github.token }}`
github-token: ${{ github.token }}

# Skip creating or publishing the 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 published release notes.
# When provided, the action summarizes the changelog body returned by release-drafter, then updates the created release body to include the summary above the full changelog.
# Supported properties:
Expand Down Expand Up @@ -102,46 +108,49 @@ With optional changelog summarization prepended to the published notes.

## 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`** | Tag name to associate with the GitHub release | **false** | - |
| **`name`** | Name to use for the GitHub release | **false** | - |
| **`target-sha`** | Commit SHA the GitHub release should target | **false** | - |
| **`github-token`** | GitHub Token for creating the release. | **false** | `${{ github.token }}` |
| | Permissions: | | |
| | - contents: write | | |
| | - pull-requests: read | | |
| **`changelog-summary`** | Optional JSON-serialized configuration used to generate and prepend a release summary to the published release notes. | **false** | - |
| | When provided, the action summarizes the changelog body returned by release-drafter, then updates the created 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: | | |
| | | | |
| | <!-- textlint-disable --><pre lang="json">{&#13; "llmAuth": "$\{{ secrets.OPENAI_API_KEY }}",&#13; "llmProvider": "openai",&#13; "llmModel": "gpt-5.4",&#13;}</pre><!-- textlint-enable --> | | |
| **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`** | Tag name to associate with the GitHub release | **false** | - |
| **`name`** | Name to use for the GitHub release | **false** | - |
| **`target-sha`** | Commit SHA the GitHub release should target | **false** | - |
| **`github-token`** | GitHub Token for creating the release. | **false** | `${{ github.token }}` |
| | Permissions: | | |
| | - contents: write | | |
| | - pull-requests: read | | |
| **`skip-if-no-changes`** | Skip creating or publishing the 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 published release notes. | **false** | - |
| | When provided, the action summarizes the changelog body returned by release-drafter, then updates the created 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: | | |
| | | | |
| | <!-- textlint-disable --><pre lang="json">{&#13; "llmAuth": "$\{{ secrets.OPENAI_API_KEY }}",&#13; "llmProvider": "openai",&#13; "llmModel": "gpt-5.4",&#13;}</pre><!-- textlint-enable --> | | |

<!-- inputs:end -->

<!-- outputs:start -->

## Outputs

| **Output** | **Description** |
| ---------- | ---------------------- |
| **`tag`** | The tag of the release |
| **Output** | **Description** |
| ------------- | --------------------------------------------------- |
| **`tag`** | The tag of the release |
| **`created`** | Whether the GitHub release was created or published |

<!-- outputs:end -->

Expand Down
Loading
Loading