Plugins
Official plugins
@semantic-release/commit-analyzer
Note: this is already part of semantic-release and does not have to be installed separately
analyzeCommits: Determine the type of release by analyzing commits with conventional-changelog
@semantic-release/release-notes-generator
Note: this is already part of semantic-release and does not have to be installed separately
generateNotes: Generate release notes for the commits added since the last release with conventional-changelog
Note: this is already part of semantic-release and does not have to be installed separately
verifyConditions: Verify the presence and the validity of the GitHub authentication and release configurationpublish: Publish a GitHub releasesuccess: Add a comment to GitHub issues and pull requests resolved in the releasefail: Open a GitHub issue when a release fails
Note: this is already part of semantic-release and does not have to be installed separately
verifyConditions: Verify the presence and the validity of the npm authentication and release configurationprepare: Update the package.json version and create the npm package tarballpublish: Publish the package on the npm registry
verifyConditions: Verify the presence and the validity of the GitLab authentication and release configurationpublish: Publish a GitLab release
verifyConditions: Verify the presence and the validity of the Git authentication and release configurationprepare: Push a release commit and tag, including configurable files
verifyConditions: Verify the presence and the validity of the configurationprepare: Create or update the changelog file in the local project repository
verifyConditions: Execute a shell command to verify if the release should happenanalyzeCommits: Execute a shell command to determine the type of releaseverifyRelease: Execute a shell command to verifying a release that was determined before and is about to be publishedgenerateNotes: Execute a shell command to generate the release noteprepare: Execute a shell command to prepare the releasepublish: Execute a shell command to publish the releasesuccess: Execute a shell command to notify of a new releasefail: Execute a shell command to notify of a failed release
verifyConditions: Verify the presence of theATOM_ACCESS_TOKENenvironment variable and theapmCLIprepare: Update thepackage.jsonversion withnpm versionpublish: Publish the Atom package
Community plugins
Open a Pull Request to add your plugin to the list.
verifyConditions: Verify that the environment variableSLACK_WEBHOOKhas been defined.success: Publish a message about the success to a slack channel.fail: Optionally publish a message about failure to a slack channel.
verifyConditions: Verify that all needed configuration is present and login to the Docker registry.publish: Tag the image specified bynamewith the new version, push it to Docker Hub and update the latest tag
verifyConditions: Verify that all needed configuration is present and login to the configured docker registry.publish: Tag the image specified bynamewith 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 i.e.: next to latest.
verifyConditions: Verify that all needed configuration is present and login to the Docker registrypublish: Tag the image specified bynamewith the new version, push it to Docker Hub and update the latest tag
verifyConditions: Verify the presence and the validity of the "VS Code extension" authentication and release configurationprepare: Create a.vsixfor distributionpublish: Publish the package to the Visual Studio Code marketplace
verifyConditions: Check the dependencies format against a regexp before a release
verifyConditions: VerifyapiSpecFilesis specified with at least one file name and all matching files have a .json, .yaml, or .yml extension.prepare: Write the correct version to all OpenAPI / Swagger files specified inapiSpecFiles.
verifyConditions: Verify the presence of the authentication (set via environment variables)prepare: Write the correct version to themanifest.jsonand creates a zip file of the whole dist folderpublish: Uploads the generated zip file to the webstore, and publish the item
semantic-release-firefox-add-on
verifyConditions: Verify that all required options are present and authentication is set via environment variablesprepare: Write the correct version to themanifest.jsonpublish: Creates an unsigned.xpifile, and submits it to the Mozilla Add On store for signing. Once the package is signed, downloads the signed.xpito a local directory
generateNotes: Generate release notes with Gerrit reviews URL
verifyConditions: Verify Expo manifest(s) are readable and valid.prepare: Update version, ios build number and android version code in the Expo manifest(s).
verifyConditions: Verifies that thepom.xmlfile and other files exist and are setup to allow releasesverifyRelease: Checks and warns (does not error by default) if the version numbers found on maven central and within the Git project differ by quite a bitprepare: Changes the version number in thepom.xml(or allpom.xmlfiles in maven projects with multiplepom.xmlfiles) and optionally creates a commit with this version number and pushes it tomasterpublish: Runsmvn deployto deploy to maven central and optionally will update to next snapshot version and merge changes to development branch
maven-semantic-release (alternative version)
verifyConditions: Verifies that themvncommand exists.prepare: Changes version number inpom.xmland optionally in all child modules.publish: Runs one of the mvn targetsdeploy,package jib:buildordeploy jib:build.success: Optionally sets new snapshot version and commits it.
prepare: Stores the version number as an Azure DevOps pipeline variable available to downstream steps on the job
verifyConditions: Verify that project has a Gradle wrapper script, andbuild.gradlecontains a task to publish artifacts.prepare: Changes the version number in thegradle.propertiespublish: Triggers Gradle to publish artifacts.
verifyConditions: Verify the presence of theCIRCLECI_API_TOKENenvironment variable,orbNameoption, and thecircleciCLI.publish: Publish the CircleCI orb.
verifyConditions: Verify the presence of the auth token set via environment variables.publish: Pushes commit to the documentation branch.
semantic-release-github-pullrequest
verifyConditions: Verify the presence and the validity of the GitHub authentication and other configuration.publish: Create a branch to upload all assets and create the pull request on the base branch on GitHub.
verifyConditions: Checks the project.clj is syntactically valid.prepare: Update the project.clj version and package the output jar file.publish: Publish the jar (and generated Maven metadata) to a maven repository (or clojars).
@saithodev/semantic-release-gitea
verifyConditions: Verify the presence and the validity of the authentication and the assets option configuration.publish: Publish a Gitea release, optionally uploading file assets.addChannel: Update a Gitea release's pre-release field.
semantic-release-replace-plugin
prepare: Replace version strings in files using regex and glob.
verifyConditions: Locate and validate a.gemspecfile, locate and validate alib/**/version.rbfile, verify the presence of theGEM_HOST_API_KEYenvironment variable, and create a credentials file with the API key.prepare: Update the version in thelib/**/version.rbversion file and build the gem.publish: Push the Ruby gem to the gem server.
semantic-release-npm-deprecate-old-versions
verifyConditions: Validates configuration.publish: Deprecates old versions, based on the declaration of supported versions in the config.
amanda-mitchell/semantic-release-npm-multiple
Note: this is a thin wrapper around the built-in npm plugin that can target multiple registries
verifyConditions: Verify the presence and the validity of the npm authentication and release configuration for multiple registriesprepare: Update the package.json version and create the npm package tarballpublish: Publish the package on the npm registry for multiple registries
semantic-release-license Automatically update dates and more in your license file for new releases.
verifyConditions: Verify the presence of a license fileprepare: Update the license file based on its type
verifyConditions: Verify the environment variablePYPI_TOKENand installation of build toolsprepare: Update the version insetup.cfgand create the distribution packagespublish: Publish the python package to a repository (default: pypi)
@covage/semantic-release-poetry-plugin
verifyConditions: Verify the presence and validity ofpyproject.tomlfile.prepare: Update the version inpyproject.toml.
verifyConditions: Validate configuration, get AWS CodeArtifact authentication and repository, validatepublishConfigor.npmrc(if they exist), then pass the configuration to the associated plugins.
verifyConditions: Validate configuration and verifyTELEGRAM_BOT_IDandTELEGRAM_BOT_TOKENsuccess: Publish a message about the successful release to a telegram chatfail: publish a message about failure to a telegram chat
verifyConditions: Validate configuration and verifyHEROKU_API_KEYprepare: Update the package.json version and create release tarballpublish: Publish version to heroku
verifyConditions: Verify that the webhook is setup and release-notes-generator is present.success: Send a message about the new release and its notes to a mattermost webhook.
semantic-release-github-milestones
verifyConditions: Verify github tokens are present and valid.verifyRelease: Display information regarding the matching github milestone.
verifyConditions: Validate configuration and verifyTELEGRAM_BOT_TOKENand package namesuccess: Publish a success message to certain telegram chatsfail: Publish a fail message to certain telegram chats
semantic-release-npm-deprecate
publish: Automatically mark old versions as deprecated.
semantic-release-mirror-version
prepare: Update the version number in any file that matches the defined file glob.
verifyConditionsVerifies that all required options are set.prepareCreates a JetBrains Space Deployment Target if it does not yet exist.publishStarts a JetBrains Space Deployment.successMarks the JetBrains Space Deployment as completed.failMarks the JetBrains Space Deployment as failed.
verifyConditionsValidate configuration.prepareVersion native iOS and Android files.
verifyConditionsValidate configuration,Cargo.toml, and local cargo executable. Also, logs in intocrates.io.prepareWrite the new version number intoCargo.tomlfile and performcargo checkif configured.publishPublish the Rust crate tocrates.io
verifyConditionsVerified that required credentials are provided and API is accessiblepublishadd a release tag to Coralogix
verifyConditions: Validate the config options.generateNotes: Generate the release notes with links to JIRA issues.
successCreate major version tag, for examplev1.
Note: this is an alternative to the default
@semantic-release/npmplugin and adds support for monorepos.verifyConditionsVerify Yarn 2 or higher is installed, verify the presence of a NPM auth token (either in an environment variable or a.yarnrc.ymlfile) and verify the authentication method is valid.prepareUpdate thepackage.jsonversion and create the package tarball.addChannelAdd a tag for the release.publishPublish to the npm registry.
verifyConditions: Verify the presence of thepub.devauthentication and release configurationprepare: Update thepubspec.yamlversionpublish: Publish the package onto thepub.devregistry
verifyConditions: Verify the environment variableHACKAGE_TOKENprepare: Update the version of .cabal file and create the distribution package (.tar)publish: Publish the release candidate to the specified repository in Hackage
semantic-release-pull-request-analyzer
verifyConditionsVerify configuration options and existance of GitHub token.analyzeCommitsDetermine the type of release by analyzing merged GitHub pull requests and their labels.generateNotesGenerates release notes using GitHub release notes generator.
analyzeCommitsAnalyzing commit messages by commitlint.
verifyConditions: Verify that all needed configuration is present and login to the Docker registry.publish: Build a container image using Kaniko and (optionally) push it to a Docker registry.
verifyConditions: Verify that all needed configuration is present and check if destination is writeable (unless force=true).publish: Copy OCI images to a custom (Docker) registry using daemonless open-source tool skopeo.
verifyConditions: Ensurespyproject.tomlexists and contains a[project]section.prepare: Updates the[project].versionfield inpyproject.tomlto match the release version.
@jno21/semantic-release-github-commit
Notes: This plugin creates a commit on GitHub using the GitHub API, enabling signed commits via a GitHub App.
verifyConditions: Verify GitHub authentication and configuration.prepare: Create a commit with the specified files using the GitHub API.
verifyConditions: Verify that all needed configuration is present.prepare: Convert different types of CurseForge game versions to their corresponding IDs.publish: Publish the Minecraft project to CurseForge and Modrinth.
Last updated