7.1.4 • Published 6 years ago

@semantic-release/condition-travis v7.1.4

Weekly downloads
8,558
License
MIT
Repository
github
Last release
6 years ago

@semantic-release/condition-travis

semantic-release plugin to check Travis CI environment before publishing.

Travis Codecov Greenkeeper badge

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

OptionDescriptionDefault
githubTokenRequired. The Github token used to authenticate with Travis API.process.env.GH_TOKEN or process.env.GITHUB_TOKEN
githubUrlThe GitHub Enterprise endpoint.process.env.GH_URL or process.env.GITHUB_URL
githubApiPathPrefixThe GitHub Enterprise API prefix.process.env.GH_PREFIX or process.env.GITHUB_PREFIX
travisUrlThe 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-release

With 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-release

In 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-release

In 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.

7.1.4

6 years ago

7.1.3

6 years ago

7.1.2

6 years ago

7.1.1

6 years ago

7.1.0

6 years ago

7.0.1

6 years ago

7.0.0

6 years ago

6.2.1

6 years ago

6.2.0

6 years ago

6.1.1

6 years ago

6.1.0

7 years ago

6.0.3

7 years ago

6.0.2

7 years ago

6.0.1

7 years ago

6.0.0

7 years ago

5.0.2

7 years ago

5.0.1

8 years ago

4.1.4

8 years ago

4.1.3

8 years ago

4.1.2

9 years ago

5.0.0

9 years ago

4.1.1

9 years ago

4.1.0

9 years ago

4.0.0

9 years ago

3.0.0

9 years ago

2.0.0

9 years ago

1.0.0

9 years ago