Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
17d60d3
build(deps): bump npm from 8.3.1 to 8.12.0 (#2447)
dependabot[bot] Jun 9, 2022
58a226f
fix(log-repo): use the original form of the repo url to remove the ne…
travi Jun 9, 2022
f1d7ad4
build(deps): bump semver-regex from 3.1.3 to 3.1.4 (#2451)
dependabot[bot] Jun 9, 2022
05c9360
build(deps): bump semantic-release from 19.0.0 to 19.0.3
dependabot[bot] Jun 10, 2022
587bb91
docs(configuration.md): `addChannel` step is skipped when `dryRun` is…
csantos1113 Jun 14, 2022
3387fb7
docs: fix typo (#2468)
HonkingGoose Jun 16, 2022
e66b4b5
docs: drop duplicate word (#2471)
HonkingGoose Jun 16, 2022
dd77f1f
docs: fix typo (#2472)
HonkingGoose Jun 16, 2022
db620aa
docs: fix typo (#2473)
HonkingGoose Jun 16, 2022
ec89bab
docs: replace issue templates with forms (#2474)
HonkingGoose Jun 16, 2022
9589a96
docs: fix typos (#2476)
HonkingGoose Jun 16, 2022
d80e2ea
build(deps-dev): bump got from 11.8.3 to 11.8.5 (#2485)
dependabot[bot] Jun 23, 2022
c69445e
docs: remove deprecated keyword in gitlab-ci.md (#2498)
iczellion Jul 6, 2022
bd294eb
docs(plugin-list): add semantic-release-space plugin (#2502)
123FLO321 Jul 12, 2022
846f4c2
build(deps): bump terser from 5.14.0 to 5.14.2 (#2513)
dependabot[bot] Jul 21, 2022
3bbf08c
test(integration): upgrade the gitbox image to support arm architectu…
travi Jul 26, 2022
f419080
fix(deps): update dependency yargs to v17 (#1912)
renovate[bot] Aug 22, 2022
2f4bcef
docs: add semantic-release-react-native to plugin list (#2523)
alexandermendes Aug 22, 2022
8f07522
Revert "fix(deps): update dependency yargs to v17" (#2534)
travi Aug 23, 2022
5eea7c9
test(mockserver): switched to the modern mockserver/mockserver image …
travi Aug 26, 2022
9a513a3
test: replaced proxyquire with testdouble (#2537)
travi Aug 26, 2022
2a2db0c
test(coverage): switched from nyc to c8 (#2538)
travi Aug 26, 2022
ee841a4
chore(deps): update dependency dockerode to v3.3.4 (#2539)
renovate[bot] Aug 27, 2022
3bb4aec
chore(deps): update dependency mockserver-client to v5.14.0 (#2540)
renovate[bot] Aug 27, 2022
2832bbf
chore(deps): update dependency nock to v13.2.9 (#2544)
renovate[bot] Aug 29, 2022
0916886
chore(deps): update actions/setup-node action to v3
renovate[bot] Aug 29, 2022
0bd2238
chore(deps): update dependency p-retry to v4.6.2 (#2545)
renovate[bot] Aug 29, 2022
762d0f5
chore(deps): update actions/checkout action to v3 (#2546)
renovate[bot] Aug 29, 2022
e516748
docs: document that .cjs extensions are supported for config files (#…
davidjgoss Sep 2, 2022
866e8ca
docs: fix typo (#2550)
sciencefidelity Sep 2, 2022
7b7728c
docs: fix troubleshooting git delete remote tag command (#2551)
mshaaban0 Sep 2, 2022
466898b
docs: fix typo (#2559)
filiptammergard Sep 13, 2022
4cd3641
refactor(plugins): switched from `require` to `await import()` when l…
travi Sep 17, 2022
16795ed
chore(deps): update dependency sinon to v14 (#2570)
renovate[bot] Sep 24, 2022
ca495c9
build(deps): bump ansi-regex from 4.1.0 to 5.0.1 (#2571)
dependabot[bot] Sep 25, 2022
e675b79
chore(deps): update dependency ava to v4 (#2574)
renovate[bot] Sep 25, 2022
4012f75
docs(plugins list): add semantic release cargo community plugin (#2590)
buehler Oct 10, 2022
4d1dfe1
Merge branch 'master' of https://github.com/semantic-release/semantic…
JoA-MoS Oct 22, 2022
516a54e
fix(git-utils): updates jsdoc to match function signature
JoA-MoS Oct 22, 2022
3c678a9
ci: bump actions to v3
JoA-MoS Oct 22, 2022
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
20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/01_bug_report.md

This file was deleted.

51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/01_bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Bug Report
description: Something not working as expected
body:
- type: textarea
attributes:
label: Current behavior
description: Describe how the issue manifests.
validations:
required: true

- type: textarea
attributes:
label: Expected behavior
description: Describe what the desired behavior would be.
validations:
required: true

- type: input
attributes:
label: '`semantic-release` version'
description: Version set in `package.json` `devDpendencies`.
validations:
required: true

- type: input
attributes:
label: CI environment
description: CI service name.
validations:
required: true

- type: textarea
attributes:
label: Plugins used
description: List `semantic-release` plugin used, if any.
validations:
required: false

- type: textarea
attributes:
label: '`semantic-release` configuration'
description: Link to your repository or relevant part of the `semantic-release` config.
validations:
required: true

- type: textarea
attributes:
label: CI logs
description: Link to your CI logs or `semantic-release` logs.
validations:
required: true
16 changes: 0 additions & 16 deletions .github/ISSUE_TEMPLATE/02_feature_request.md

This file was deleted.

23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/02_feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Feature request
description: Wouldn't it be nice if `semantic-release` could ...
body:
- type: textarea
attributes:
label: New feature motivation
description: Describe the context, the use-case and the advantages of the feature request.
validations:
required: true

- type: textarea
attributes:
label: New feature description
description: Describe the functional changes that would have to be made in `semantic-release` or its plugins.
validations:
required: true

- type: textarea
attributes:
label: New feature implementation
description: Optionally describe the technical changes to be made in `semantic-release` or its plugins.
validations:
required: false
12 changes: 0 additions & 12 deletions .github/ISSUE_TEMPLATE/03_plugin_suggestion.md

This file was deleted.

16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/03_plugin_suggestion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: New plugin suggestion
description: Integrate with a new platform, etc
body:
- type: textarea
attributes:
label: New plugin motivation
description: Describe the reasons to create a new plugin and why it's not covered by the existing ones.
validations:
required: true

- type: textarea
attributes:
label: Third-party documentation
description: Provide explanation and documentation links for the platform to integrate with.
validations:
required: true
12 changes: 6 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: npm
- run: npm ci
Expand All @@ -41,11 +41,11 @@ jobs:

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: git config --global user.name github-actions
- run: git config --global user.email github-actions@github.com
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: npm
Expand All @@ -57,8 +57,8 @@ jobs:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: npm
Expand Down
Empty file modified .husky/pre-commit
100644 → 100755
Empty file.
4 changes: 2 additions & 2 deletions docs/developer-guide/plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ To create a plugin for `semantic-release`, you need to decide which parts of the
- `success`
- `fail`

`semantic-release` will require the plugin via `node` and look through the required object for methods named like the lifecyles stated above. For example, if your plugin only had a `verifyConditions` and `success` step, the `main` file for your object would need to `export` an object with `verifyConditions` and `success` functions.
`semantic-release` will require the plugin via `node` and look through the required object for methods named like the lifecycles stated above. For example, if your plugin only had a `verifyConditions` and `success` step, the `main` file for your object would need to `export` an object with `verifyConditions` and `success` functions.

In addition to the lifecycle methods, each lifecyle is passed two objects:
In addition to the lifecycle methods, each lifecycle is passed two objects:

1. `pluginConfig` - an object containing the options that a user may pass in via their `release.config.js` file (or similar)
2. `context` - provided by `semantic-release` for access to things like `env` variables set on the running process.
Expand Down
19 changes: 16 additions & 3 deletions docs/extending/plugins-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@
- [@semantic-release-plus/docker](https://github.com/semantic-release-plus/semantic-release-plus/tree/master/packages/plugins/docker)
- `verifyConditions`: Verify that all needed configuration is present and login to the configured docker registry.
- `publish`: Tag the image specified by `name` with the new version and channel and push it to the configured docker registry.
- `addChannel`: Updates a release published on one channel with the destinations channel tag and pushes to the registry ie: next to latest.
- `addChannel`: Updates a release published on one channel with the destinations channel tag and pushes to the registry i.e.: next to latest.
- [semantic-release-gcr](https://github.com/carlos-cubas/semantic-release-gcr)
- `verifyConditions`: Verify that all needed configuration is present and login to the Docker registry
- `publish`: Tag the image specified by `name` with the new version, push it to Docker Hub and update the latest tag
- [semantic-release-vsce](https://github.com/raix/semantic-release-vsce)
- `verifyConditions`: Verify the presence and the validity of the vsce authentication and release configuration
- `verifyConditions`: Verify the presence and the validity of the "VS Code extension" authentication and release configuration
- `prepare`: Create a `.vsix` for distribution
- `publish`: Publish the package to the Visual Studio Code marketplace
- [semantic-release-verify-deps](https://github.com/piercus/semantic-release-verify-deps)
Expand All @@ -85,7 +85,7 @@
- `prepare`: Changes the version number in the `pom.xml` (or all `pom.xml` files in maven projects with multiple `pom.xml` files) and optionally creates a commit with this version number and pushes it to `master`
- `publish`: Runs `mvn deploy` to deploy to maven central and optionally will update to next snapshot version and merge changes to development branch
- [semantic-release-ado](https://github.com/lluchmk/semantic-release-ado)
- `prepare`: Stores the version number as an Azure DevOps pipeline variable availabe to downstream steps on the job
- `prepare`: Stores the version number as an Azure DevOps pipeline variable available to downstream steps on the job
- [gradle-semantic-release](https://github.com/KengoTODA/gradle-semantic-release-plugin)
- `verifyConditions`: Verify that project has a Gradle wrapper script, and `build.gradle` contains a task to publish artifacts.
- `prepare`: Changes the version number in the `gradle.properties`
Expand Down Expand Up @@ -158,3 +158,16 @@
- `verifyConditions`: Verify plugin configuration and login to Helm registry
- `prepare`: Package Helm chart to local folder
- `publish`: Publish Helm chart to OCI registry
- [semantic-release-space](https://github.com/123FLO321/semantic-release-space)
- `verifyConditions` Verifies that all required options are set.
- `prepare` Creates a JetBrains Space Deployment Target if it does not yet exist.
- `publish` Starts a JetBrains Space Deployment.
- `success` Marks the JetBrains Space Deployment as completed.
- `fail` Marks the JetBrains Space Deployment as failed.
- [semantic-release-react-native](https://github.com/alexandermendes/semantic-release-react-native)
- `verifyConditions` Validate configuration.
- `prepare` Version native iOS and Android files.
- [semantic-release-cargo](https://github.com/buehler/semantic-release-cargo)
- `verifyConditions` Validate configuration, `Cargo.toml`, and local cargo executable. Also, logs in into `crates.io`.
- `prepare` Write the new version number into `Cargo.toml` file and perform `cargo check` if configured.
- `publish` Publish the Rust crate to `crates.io`
2 changes: 1 addition & 1 deletion docs/extending/shareable-configurations-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
## Community configurations

- [@jedmao/semantic-release-npm-github-config](https://github.com/jedmao/semantic-release-npm-github-config)
- Provides an informative [git](https://github.com/semantic-release/git) commit message for the release commit that does not trigger continuous integration and conforms to the [conventional commits specification](https://www.conventionalcommits.org/) (e.g., "chore(release): 1.2.3 [skip ci]\n\nnotes").
- Provides an informative [Git](https://github.com/semantic-release/git) commit message for the release commit that does not trigger continuous integration and conforms to the [conventional commits specification](https://www.conventionalcommits.org/) (e.g., `chore(release): 1.2.3 [skip ci]\n\nnotes`).
- Creates a tarball that gets uploaded with each [GitHub release](https://github.com/semantic-release/github).
- Publishes the same tarball to [npm](https://github.com/semantic-release/npm).
- Commits the version change in `package.json`.
Expand Down
12 changes: 6 additions & 6 deletions docs/recipes/ci-configurations/gitlab-ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ GitLab CI supports [Pipelines](https://docs.gitlab.com/ee/ci/pipelines.html) all

### `.gitlab-ci.yml` configuration for Node projects

This example is a minimal configuration for **semantic-release** with a build running Node 10 and 12. See [GitLab CI - Configuration of your jobs with .gitlab-ci.yml](https://docs.gitlab.com/ee/ci/yaml/README.html) for additional configuration options.
This example is a minimal configuration for **semantic-release** with a build running Node 10 and 12. See [GitLab CI - Configuration of your jobs with `.gitlab-ci.yml`](https://docs.gitlab.com/ee/ci/yaml/README.html) for additional configuration options.

**Note**: The`semantic-release` execution command varies depending on whether you are using a [local](../../usage/installation.md#local-installation) or [global](../../usage/installation.md#global-installation) **semantic-release** installation.

Expand Down Expand Up @@ -48,7 +48,7 @@ publish:

### `.gitlab-ci.yml` configuration for all projects

This example is a minimal configuration for **semantic-release** with a build running Node 10 and 12. See [GitLab CI - Configuration of your jobs with .gitlab-ci.yml](https://docs.gitlab.com/ee/ci/yaml/README.html) for additional configuration options.
This example is a minimal configuration for **semantic-release** with a build running Node 10 and 12. See [GitLab CI - Configuration of your jobs with `.gitlab-ci.yml`](https://docs.gitlab.com/ee/ci/yaml/README.html) for additional configuration options.

**Note**: The`semantic-release` execution command varies depending if you are using a [local](../../usage/installation.md#local-installation) or [global](../../usage/installation.md#global-installation) **semantic-release** installation.

Expand All @@ -65,8 +65,8 @@ release:
- npm install -g semantic-release @semantic-release/gitlab
script:
- semantic-release
only:
- master
rules:
- if: $CI_COMMIT_BRANCH == "master"

release:
image: node:12-buster-slim
Expand All @@ -76,8 +76,8 @@ release:
- npm install -g semantic-release @semantic-release/gitlab
script:
- semantic-release
only:
- master
rules:
- if: $CI_COMMIT_BRANCH == "master"
```

### `package.json` configuration
Expand Down
2 changes: 1 addition & 1 deletion docs/recipes/release-workflow/distribution-channels.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Publishing on distribution channels

This recipe will walk you through a simple example that uses distribution channels to make releases available only to a subset of users, in order to collect feedbacks before distributing the release to all users.
This recipe will walk you through a simple example that uses distribution channels to make releases available only to a subset of users, in order to collect feedback before distributing the release to all users.

This example uses the **semantic-release** default configuration:

Expand Down
4 changes: 2 additions & 2 deletions docs/support/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Yes, **semantic-release** is a Node CLI application, but it can be used to publi
To publish a non-Node package (without a `package.json`) you would need to:

- Use a [global](../usage/installation.md#global-installation) **semantic-release** installation
- Set **semantic-release** [options](../usage/configuration.md#options) via [CLI arguments or rc file](../usage/configuration.md#configuration)
- Set **semantic-release** [options](../usage/configuration.md#options) via [CLI arguments or `.rc` file](../usage/configuration.md#configuration)
- Make sure your CI job executing the `semantic-release` command has access to a version of Node that [meets our version requirement](./node-version.md) to execute the `semantic-release` command

See the [CI configuration recipes](../recipes/release-workflow/README.md#ci-configurations) for more details on specific CI environments.
Expand Down Expand Up @@ -164,7 +164,7 @@ Any npm compatible registry is supported with the [`@semantic-release/npm`](http

See [npm registry authentication](https://github.com/semantic-release/npm#npm-registry-authentication) for more details.

See [Artifactory - npm Registry](https://www.jfrog.com/confluence/display/RTF/Npm+Registry#NpmRegistry-AuthenticatingthenpmClient) documentation for Artifactiry configuration.
See [Artifactory - npm Registry](https://www.jfrog.com/confluence/display/RTF/Npm+Registry#NpmRegistry-AuthenticatingthenpmClient) documentation for Artifactory configuration.

## Can I manually trigger the release of a specific version?

Expand Down
2 changes: 1 addition & 1 deletion docs/support/node-version.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Node version requirement

**semantic-release** is written using the latest [ECMAScript 2017](https://www.ecma-international.org/publications/standards/Ecma-262.htm) features, without transpilation which requires **requires Node version 14.17 or higher**.
**semantic-release** is written using the latest [ECMAScript 2017](https://www.ecma-international.org/publications/standards/Ecma-262.htm) features, without transpilation which **requires Node version 14.17 or higher**.

**semantic-release** is meant to be used in a CI environment as a development support tool, not as a production dependency.
Therefore, the only constraint is to run the `semantic-release` in a CI environment providing version of Node that meets our version requirement.
Expand Down
4 changes: 2 additions & 2 deletions docs/support/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ When [squashing commits](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-Hist

When squashing commits make sure to rewrite the resulting commit message to be compliant with the project's commit message convention.

**Note**: if the resulting squashed commit would encompasses multiple changes (for example multiple unrelated features or fixes) then it's probably not a good idea to squash those commits together. A commit should contain exactly one self-contained functional change and a functional change should be contained in exactly one commit. See [atomic commits](https://en.wikipedia.org/wiki/Atomic_commit).
**Note**: if the resulting squashed commit encompasses multiple changes (for example multiple unrelated features or fixes) then it's probably not a good idea to squash those commits together. A commit should contain exactly one self-contained functional change and a functional change should be contained in exactly one commit. See [atomic commits](https://en.wikipedia.org/wiki/Atomic_commit).

## `reference already exists` error when pushing tag

Expand Down Expand Up @@ -64,7 +64,7 @@ After a git history rewrite due to a `git push --force`, the git tags and notes

To recover from that situation, do the following:

1. Delete the tag(s) for the release(s) that have been lost from the git history. You can delete each tag from remote using `git push origin :[TAG NAME]`, e.g. `git push origin :v2.0.0-beta.1`. You can delete tags locally using `git tag -d [TAG NAME]`, e.g. `git tag -d v2.0.0-beta.1`.
1. Delete the tag(s) for the release(s) that have been lost from the git history. You can delete each tag from remote using `git push origin -d :[TAG NAME]`, e.g. `git push origin -d :v2.0.0-beta.1`. You can delete tags locally using `git tag -d [TAG NAME]`, e.g. `git tag -d v2.0.0-beta.1`.
2. Re-create the tags locally: `git tag [TAG NAME] [COMMIT HASH]`, where `[COMMIT HASH]` is the new commit that created the release for the lost tag. E.g. `git tag v2.0.0-beta.1 abcdef0`
3. Re-create the git notes for each release tag, e.g. `git notes --ref semantic-release add -f -m '{"channels":["beta"]}' v2.0.0-beta.1`. If the release was also published in the default channel (usually `master`), then set the first channel to `null`, e.g. `git notes --ref semantic-release add -f -m '{"channels":[null, "beta"]}'`
4. Push the local notes: `git push --force origin refs/notes/semantic-release`. The `--force` is needed after the rebase. Be careful.
Loading