scratch-vm/.circleci/config.yml

74 lines
1.8 KiB
YAML
Raw Normal View History

version: 2.1
orbs:
commitlint: conventional-changelog/commitlint@1.0.0
node: circleci/node@5
aliases:
- &release-branches
- develop
- /^hotfix\//
commands:
deploy_gh_pages:
steps:
- run:
name: deploy to GH Pages
command: |
if [ -n "$GH_PAGES_REPO" ]; then
export GIT_AUTHOR_EMAIL="$(git log --pretty=format:"%ae" -n1)"
export GIT_AUTHOR_NAME="$(git log --pretty=format:"%an" -n1)"
export GIT_COMMITTER_EMAIL="${GIT_AUTHOR_EMAIL}"
export GIT_COMMITTER_NAME="${GIT_AUTHOR_NAME}"
npm run deploy -x -r $GH_PAGES_REPO
fi
jobs:
build_no_release:
executor: node/default # defaults to LTS
steps:
- checkout
- node/install-packages
- run: npm test
- run: npm run build
- deploy_gh_pages
build_and_release:
executor: node/default # defaults to LTS
steps:
- checkout
- node/install-packages
- run: npm test
- run: npm run build
- deploy_gh_pages
- run: npx semantic-release
update_i18n:
executor: node/default # defaults to LTS
steps:
- checkout
- node/install-packages
- run: npm run i18n:src && npm run i18n:push
workflows:
version: 2
commitlint:
jobs:
- commitlint/lint:
target-branch: develop
build_no_release:
jobs:
- build_no_release:
filters:
branches:
ignore: *release-branches
build_and_release:
jobs:
- build_and_release:
filters:
branches:
only: *release-branches
update_i18n:
jobs:
- update_i18n:
context: transifex
triggers:
- schedule:
cron: 0 0 * * * # daily at midnight UTC = 7-8pm US Eastern
filters:
branches:
only: develop