Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4aced31
refactor(ci-configurations): update item labels for clarity and organ…
babblebey May 23, 2026
b6906b7
feat(ci-configurations): recreate CI configurations section with upda…
babblebey May 23, 2026
874dc5e
refactor(github-actions): update links and descriptions for clarity a…
babblebey May 23, 2026
d271eb5
refactor(github-actions): enhance introduction for clarity and context
babblebey May 23, 2026
c9465ee
feat(github-actions): add comprehensive guide for semantic-release se…
babblebey May 23, 2026
b1ac53a
refactor(github-actions): reorganize content for clarity and add comm…
babblebey May 23, 2026
5be1867
refactor(github-actions): enhance notes for clarity and formatting in…
babblebey May 23, 2026
e50e6ed
refactor(github-actions): improve clarity and detail in the GitHub Ac…
babblebey May 23, 2026
759ba9b
fix(github-actions): update branch name from 'master' to 'main' in wo…
babblebey May 23, 2026
71f2b31
refactor(github-actions): clarify options for triggering semantic-rel…
babblebey May 23, 2026
a6c30c4
refactor(github-actions): update security recommendations for GITHUB_…
babblebey May 23, 2026
4f845a2
docs(github-actions): enhance release setup example and clarify invoc…
babblebey May 23, 2026
c0312c8
docs: clarify GITHUB_TOKEN usage and GitHub App authentication in rel…
babblebey May 23, 2026
52d998a
lint: format and enhance CI configuration links for clarity
babblebey May 23, 2026
ea6061f
fix: address regressed formatting of quick start
babblebey May 24, 2026
fcb4d64
Update src/content/docs/recipes/ci-configurations/github-actions.mdx
babblebey May 29, 2026
0259a2b
Update src/content/docs/recipes/ci-configurations/github-actions.mdx
babblebey May 29, 2026
ad593ce
Update src/content/docs/recipes/ci-configurations/github-actions.mdx
babblebey May 29, 2026
3bbc863
docs: add caution about discouraged manual releases with semantic-rel…
babblebey May 29, 2026
c9eaf13
docs: update GitHub Actions workflow to verify before release
babblebey May 29, 2026
999a487
docs: update GitHub Actions example to include release job with GitHu…
babblebey May 29, 2026
79aa031
docs: reorganize GitHub Actions steps for clarity on publishing paths
babblebey May 29, 2026
826d7d9
docs: update GitHub Actions documentation to clarify fallback path fo…
babblebey May 29, 2026
705db46
Update src/content/docs/recipes/ci-configurations/github-actions.mdx
babblebey May 30, 2026
b917a50
Update src/content/docs/recipes/ci-configurations/github-actions.mdx
babblebey May 30, 2026
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
11 changes: 7 additions & 4 deletions astro.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,14 @@ export default defineConfig({
{
label: "CI Configurations",
items: [
{ slug: "recipes/ci-configurations" },
{ slug: "recipes/ci-configurations/circleci-workflows" },
{ slug: "recipes/ci-configurations/travis" },
{ slug: "recipes/ci-configurations/gitlab-ci" },
{ slug: "recipes/ci-configurations", label: "Overview" },
{ slug: "recipes/ci-configurations/github-actions" },
{ slug: "recipes/ci-configurations/gitlab-ci" },
{
slug: "recipes/ci-configurations/circleci-workflows",
label: "CircleCI Workflows",
},
{ slug: "recipes/ci-configurations/travis" },
{ slug: "recipes/ci-configurations/jenkins-ci" },
],
},
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/foundation/considerations.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ title: Considerations

If your primary attraction is for automatic release note generation rather than semantic versioning, you may want to reconsider if **semantic-release** is the right fit for your goals.

:::tip[Recommendation]
:::tip[Recommendation]
Adopt **semantic-release** when semantic versioning is your primary objective, with release-step automation as a secondary benefit.
:::

Expand All @@ -29,7 +29,7 @@ Applications that are deployed directly to a runtime environment lack an audienc
Docker images that are published to a registry only for the purpose of deploying directly to a runtime environment fall into this category, even though they are a published asset.
Often, using the git SHA as the version for such assets is a better choice than versioning them semantically.

:::tip[Recommendation]
:::tip[Recommendation]
Prioritize semantic versioning for artifacts consumed as dependencies; for directly deployed artifacts, consider using git SHAs instead.
:::

Expand All @@ -43,7 +43,7 @@ and [making commits during the release process adds significant complexity](/sup

Please consider the trade-offs of adding those plugins to your release configuration for potentially unnecessary goals.

:::tip[Recommendation]
:::tip[Recommendation]
Keep your configuration minimal and only add release-time commits when there is a clear, justified need.
:::

Expand Down
22 changes: 11 additions & 11 deletions src/content/docs/foundation/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ This enables support for different [commit message conventions](/foundation/how-

A plugin is a npm module that can implement one or more lifecycle methods for the following hooks:

| Lifecycle Hook | Related Release Step | Required | Description |
| ------------------ | --------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `verifyConditions` | Verify Conditions | No | Verify conditions necessary to proceed with the release: configuration is correct, authentication tokens are valid, and so on. |
| `analyzeCommits` | Analyze Commits | Yes | Determine the type of the next release (`major`, `minor`, or `patch`). This hook is required to decide the next release type. If multiple plugins implement `analyzeCommits`, the highest release type returned wins. |
| `verifyRelease` | Verify Release | No | Verify the parameters of the release that is about to be published, such as version, type, or distribution tag. |
| `generateNotes` | Generate Notes | No | Generate the content of the release note. If multiple plugins implement `generateNotes`, the release notes will be the concatenation of each plugin output. |
| `prepare` | Prepare | No | Prepare the release, for example by creating or updating files such as `package.json`, `CHANGELOG.md`, documentation, or compiled assets and pushing a commit. |
| `publish` | Publish | No | Publish the release. |
| `addChannel` | Add Channel (optional) | No | Assign the release to a distribution channel when channel management is needed, for example by adding an npm dist-tag. |
| `success` | Notify | No | Notify consumers or maintainers after a successful release. |
| `fail` | Notify | No | Notify consumers or maintainers after a failed release. |
| Lifecycle Hook | Related Release Step | Required | Description |
| ------------------ | ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `verifyConditions` | Verify Conditions | No | Verify conditions necessary to proceed with the release: configuration is correct, authentication tokens are valid, and so on. |
| `analyzeCommits` | Analyze Commits | Yes | Determine the type of the next release (`major`, `minor`, or `patch`). This hook is required to decide the next release type. If multiple plugins implement `analyzeCommits`, the highest release type returned wins. |
| `verifyRelease` | Verify Release | No | Verify the parameters of the release that is about to be published, such as version, type, or distribution tag. |
| `generateNotes` | Generate Notes | No | Generate the content of the release note. If multiple plugins implement `generateNotes`, the release notes will be the concatenation of each plugin output. |
| `prepare` | Prepare | No | Prepare the release, for example by creating or updating files such as `package.json`, `CHANGELOG.md`, documentation, or compiled assets and pushing a commit. |
| `publish` | Publish | No | Publish the release. |
| `addChannel` | Add Channel (optional) | No | Assign the release to a distribution channel when channel management is needed, for example by adding an npm dist-tag. |
| `success` | Notify | No | Notify consumers or maintainers after a successful release. |
| `fail` | Notify | No | Notify consumers or maintainers after a failed release. |

For each [release step](/foundation/steps/), **semantic-release** runs every plugin in the [`plugins` array](plugins.md#plugins-declaration-and-execution-order) that implements the hook for that step.

Expand Down
7 changes: 3 additions & 4 deletions src/content/docs/foundation/shareable-configurations.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@ The shareable configurations to use can be set with the [extends](/usage/configu

```json
{
"extends": "@semantic-release/gitlab-config"
"extends": "@semantic-release/gitlab-config"
Comment thread
babblebey marked this conversation as resolved.
}
```

For example, a project can extend a shared base config and still override its own branches locally:

```json
{
"extends": "@semantic-release/gitlab-config",
"branches": ["main", "next"]
"extends": "@semantic-release/gitlab-config",
"branches": ["main", "next"]
}
```

Expand All @@ -36,4 +36,3 @@ If multiple shareable configurations are defined, they are loaded in order. Loca
See the [shareable configurations list](/extending/shareable-configurations-list) for official and community-maintained packages you can extend.

If you want to build your own shareable configuration, see [Shareable configuration development](/developer-guide/shareable-configuration/).

10 changes: 5 additions & 5 deletions src/content/docs/foundation/supported-branching.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Supported Branching Models

This page summarizes branching models that align well with **semantic-release** and those that are officially unsupported.

:::tip[Recommendation]
:::tip[Recommendation]
Default to workflows that keep changes flowing to a stable trunk quickly and continuously.
:::

Expand Down Expand Up @@ -35,7 +35,7 @@ These models align with the delivery and release assumptions built into **semant

- [Continuous Deployment](https://trunkbaseddevelopment.com/continuous-delivery/#continuous-deployment)

:::tip[Recommendation]
:::tip[Recommendation]
Choose a trunk-based workflow that keeps branch lifetime short and integration frequent.
:::

Expand All @@ -44,7 +44,7 @@ Choose a trunk-based workflow that keeps branch lifetime short and integration f
- [GitHub Docs: GitHub Flow](https://docs.github.com/en/get-started/using-github/github-flow)
- [GitHub Flow](https://githubflow.github.io/)

:::tip[Recommendation]
:::tip[Recommendation]
GitHub Flow is a practical fit when pull requests are short-lived and releases are frequent.
:::

Expand Down Expand Up @@ -73,15 +73,15 @@ While the [same reflection](https://nvie.com/posts/a-successful-git-branching-mo
While some have found that the [Pre-release workflow](/foundation/workflow-configuration/#prerelease) enabled by **semantic-release** can be used to _simulate_ a git-flow-like workflow,
it is also worth noting that this orchestration pattern is not an intended use case and requests for support when attempting to use it that way will be closed by our team.

:::tip[Recommendation]
:::tip[Recommendation]
Avoid Git flow-style long-lived branch orchestration when using **semantic-release**.
:::

### Workflows that Release for Testing Before Promotion to a Stable Release

- [The Importance of a Local Build](https://trunkbaseddevelopment.com/styles/#the-importance-of-a-local-build)

:::tip[Recommendation]
:::tip[Recommendation]
Prefer workflows where confidence comes from CI quality signals, with production release as the promotion event.
:::

Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/foundation/workflow-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ The type of the branch is automatically determined based on naming conventions a

## Branch Properties

| Property | Branch type | Description | Default |
| ------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `name` | All | **Required.** The Git branch holding the commits to analyze and the code to release. See [name](#name). | - The value itself if defined as a `String` or the matching branches name if defined as a glob. |
| `channel` | All | The distribution channel on which to publish releases from this branch. Set to `false` to force the default distribution channel instead of using the default. See [channel](#channel). | `undefined` for the first release branch, the value of `name` for subsequent ones. |
| Property | Branch type | Description | Default |
| ------------ | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `name` | All | **Required.** The Git branch holding the commits to analyze and the code to release. See [name](#name). | - The value itself if defined as a `String` or the matching branches name if defined as a glob. |
| `channel` | All | The distribution channel on which to publish releases from this branch. Set to `false` to force the default distribution channel instead of using the default. See [channel](#channel). | `undefined` for the first release branch, the value of `name` for subsequent ones. |
| `range` | [maintenance](#maintenance-branches) only | **Required unless `name` is formatted like `N.N.x` or `N.x` (`N` is a number).** The range of [semantic versions](https://semver.org) to support on this branch. See [range](#range). | The value of `name`. |
| `prerelease` | [pre-release](#pre-release-branches) only | **Required.** The pre-release denotation to append to [semantic versions](https://semver.org) released from this branch. See [prerelease](#prerelease). | - |

Expand Down
Loading