@semantic-release/condition-travis v7.1.4
@semantic-release/condition-travis
semantic-release plugin to check Travis CI environment before publishing.
Verify that semantic-release is running:
- on Travis CI
- on the right git branch and not on a PR build
- only after all other Travis jobs are successful (using travis-deploy-once)
Options
| Option | Description | Default |
|---|---|---|
githubToken | Required. The Github token used to authenticate with Travis API. | process.env.GH_TOKEN or process.env.GITHUB_TOKEN |
githubUrl | The GitHub Enterprise endpoint. | process.env.GH_URL or process.env.GITHUB_URL |
githubApiPathPrefix | The GitHub Enterprise API prefix. | process.env.GH_PREFIX or process.env.GITHUB_PREFIX |
travisUrl | The Travis Enterprise endpoint. | process.env.TRAVIS_URL |
Configuration
The plugin is used by default by semantic-release so no specific configuration is required if githubToken, githubUrl, githubApiPathPrefix and travisUrl are set via environment variable.
Travis configuration
semantic-release require Node node version >= 8, so at least one Travis job as to run on Node 8 (or greater).
With one job
No specific configuration is required. semantic-release will run on the only Travis job.
language: node_js
node_js:
- 8
after_success:
- npm run semantic-releaseWith multiple jobs on different Node versions and OS
If there are multiple Node versions and OSs configured, travis-deploy-once will guarantee that semantic-release is executed on the highest Node version, after all other jobs are successful, without any additional configurations.
language: node_js
node_js:
- 8
- 6
- 4
os:
- linux
- osx
after_success:
- npm run semantic-releaseIn this example Travis will run 6 jobs (Node 8/Linux, Node 8/ OSX, Node 6/Linux etc...) and semantic-release will be executed on Node 8 on Linux, only after the 5 other jobs are successful.
Using Travis Build stages
Travis support Build Stages for more complex workflows. It's possible to use semantic-release with Build Stages by configuring the environment variable BUILD_LEADER_ID to defined which job will run semantic-release.
The build stage configuration has to guarantee that the job configured with BUILD_LEADER_ID will run only after all other jobs are successful.
language: node_js
node_js:
- 8
- 6
- 4
os:
- linux
- osx
env:
- BUILD_LEADER_ID=7
jobs:
include:
- stage: release
node_js: 8
os: linux
after_success:
- npm run semantic-releaseIn this example Travis will run 6 jobs in the default stage (Node 4, 6 and 8 on Linux and OSX) and if those 6 jobs are successful the release stage will run the 7th job (on Node 8 / Linux) that will execute semantic-release.
The environment variable BUILD_LEADER_ID is set to 7 as semantic-release should run on the 7th job.
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago