add hotfix capability to .travis.yml

This commit is contained in:
Christopher Willis-Ford
2020-10-09 13:20:26 -07:00
parent a7df2b2e8e
commit c2714bdb48

View File

@@ -4,7 +4,10 @@ node_js:
- 10
- node
env:
- NODE_ENV=production
global:
- NODE_ENV=production
- NPM_TAG=latest
- RELEASE_TIMESTAMP="$(date +'%Y%m%d%H%M%S')"
install:
- npm --production=false install
- npm --production=false update
@@ -24,16 +27,36 @@ jobs:
node_js: 10
script: npm run build
before_deploy:
- VPKG=$($(npm bin)/json -f package.json version)
- export VERSION=${VPKG}-prerelease.$(date +%Y%m%d%H%M%S)
- npm --no-git-tag-version version $VERSION
- git config --global user.email "$(git log --pretty=format:'%ae' -n1)"
- git config --global user.name "$(git log --pretty=format:'%an' -n1)"
- >
if [ -z "$BEFORE_DEPLOY_RAN" ]; then
VPKG=$($(npm bin)/json -f package.json version)
export RELEASE_VERSION=${VPKG}-prerelease.${RELEASE_TIMESTAMP}
npm --no-git-tag-version version $RELEASE_VERSION
if [[ "$TRAVIS_BRANCH" == hotfix/* ]]; then # double brackets are important for matching the wildcard
export NPM_TAG=hotfix
fi
git config --global user.email "$(git log --pretty=format:"%ae" -n1)"
git config --global user.name "$(git log --pretty=format:"%an" -n1)"
export BEFORE_DEPLOY_RAN=true
fi
deploy:
provider: npm
- provider: npm
on:
branch:
- master
- develop
- hotfix/*
condition: $TRAVIS_EVENT_TYPE != cron
skip_cleanup: true
"on":
all_branches: true
condition: $RELEASE_BRANCHES =~ $TRAVIS_BRANCH
email: $NPM_EMAIL
api_key: $NPM_TOKEN
tag: $NPM_TAG
- provider: script
on:
branch:
- master
- develop
- hotfix/*
condition: $TRAVIS_EVENT_TYPE != cron
skip_cleanup: true
script: if npm info | grep -q $RELEASE_VERSION; then git tag $RELEASE_VERSION && git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git $RELEASE_VERSION; fi