16 KiB
16 KiB
Plugins list
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
- @semantic-release/github
- 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
- @semantic-release/npm
- 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
- @semantic-release/gitlab
verifyConditions: Verify the presence and the validity of the GitLab authentication and release configurationpublish: Publish a GitLab release
- @semantic-release/git
verifyConditions: Verify the presence and the validity of the Git authentication and release configurationprepare: Push a release commit and tag, including configurable files
- @semantic-release/changelog
verifyConditions: Verify the presence and the validity of the configurationprepare: Create or update the changelog file in the local project repository
- @semantic-release/exec
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
- @semantic-release/apm
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.
- semantic-release-slack-bot
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.
- semantic-release-docker
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
- @semantic-release-plus/docker
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.
- semantic-release-gcr
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
- semantic-release-vsce
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
- semantic-release-verify-deps
verifyConditions: Check the dependencies format against a regexp before a release
- semantic-release-chrome
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
- semantic-release-gerrit
generateNotes: Generate release notes with Gerrit reviews URL
- semantic-release-expo
verifyConditions: Verify Expo manifest(s) are readable and valid.prepare: Update version, ios build number and android version code in the Expo manifest(s).
- maven-semantic-release
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.
- semantic-release-ado
prepare: Stores the version number as an Azure DevOps pipeline variable available to downstream steps on the job
- gradle-semantic-release
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.
- semantic-release-circleci-orb
verifyConditions: Verify the presence of theCIRCLECI_API_TOKENenvironment variable,orbNameoption, and thecircleciCLI.publish: Publish the CircleCI orb.
- semantic-release-github-pages
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.
- leiningen-semantic-release
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.
- semantic-release-rubygem
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
- semantic-release-pypi
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)
- semantic-release-helm
verifyConditions: Validate configuration and (if present) credentialsprepare: Update version and appVersion inChart.yamlpublish: Publish the chart to a registry (if configured)
- semantic-release-codeartifact
verifyConditions: Validate configuration, get AWS CodeArtifact authentication and repository, validatepublishConfigor.npmrc(if they exist), then pass the configuration to the associated plugins.
- semantic-release-telegram
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
- semantic-release-heroku
verifyConditions: Validate configuration and verifyHEROKU_API_KEYprepare: Update the package.json version and create release tarballpublish: Publish version to heroku
- semantic-release-mattermost
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.
- semantic-release-telegram-bot
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.
- @eshepelyuk/semantic-release-helm-oci
verifyConditions: Verify plugin configuration and login to Helm registryprepare: Package Helm chart to local folderpublish: Publish Helm chart to OCI registry
- semantic-release-space
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.
- semantic-release-react-native
verifyConditionsValidate configuration.prepareVersion native iOS and Android files.
- semantic-release-cargo
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
- semantic-release-coralogix
verifyConditionsVerified that required credentials are provided and API is accessiblepublishadd a release tag to Coralogix
- semantic-release-major-tag
successCreate major version tag, for examplev1.
- semantic-release-yarn
- 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.
- Note: this is an alternative to the default