-
Notifications
You must be signed in to change notification settings - Fork 7
/
.travis.yml
79 lines (71 loc) · 4.63 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
language: node_js
git:
# Do not take whole history, but ensure to not break things:
# - Merging multiple PR's around same time may introduce a case where it's not
# the last merge commit that is to be tested
# - Aside of merge commit we need a previous commit to be able to detect a version switch
depth: 10
branches:
only:
- master # Do not build PR branches
- /^v\d+\.\d+\.\d+$/ # Ensure to build release tags
stages:
- name: Test
- name: Deploy
if: tag =~ ^v\d+\.\d+\.\d+$
jobs:
include:
# In most cases it's best to configure one job per platform & Node.js version combination
# (job boot & setup takes ca 1 minute, one task run lasts ca few seconds)
# PR's from branches
# Ensure commit messages follow CC, and confirm on changelog in case of release PR's
- name: 'Prettier check updated, Lint updated, Commitlint, Changelog confirm (on release) - Node.js v12'
if: type = pull_request AND fork = false
node_js: 12
script:
- |
npm run prettier-check-updated && npm run lint-updated && npm run commitlint-ci-pull-request &&
{
# If release PR, confirm we have a changelog
tagName=`git diff master package.json | grep '"version": "' | grep -oE "[0-9]+\.[0-9]+\.[0-9]+"`
if [ $? -eq 0 ]; then
npx dump-release-notes-from-cc-changelog $tagName
fi
}
# PR's from forks
# Do not validate commit messages,
# (if user didn't ensure CC, PR should be squash merged with a valid CC commit message)
- name: 'Prettier check updated, Lint updated - Node.js v12'
if: type = pull_request AND fork = true
node_js: 12
script: npm run prettier-check-updated && npm run lint-updated
# master branch
- name: 'Lint, Tag on version bump - Node.js v12'
env:
# GITHUB_TOKEN
- secure: D1+mm66C9ik6AGzkVO8KkRF3Z8DwquK2clfVhNqL0ZErT2FRxWtv+21bDDfymd2ZOOm3hv9wLQw4O+nreKGWhzNDAZYwx46ngPl6bl+GA+ZeIWXyHbli02dcIevEJU2US1MA1f0kefhDvr6vNTMdOXOk7CmSMYazJa3kcEoCotdc6Fb6et20bXHXh6mE0LDzSTsVXuM9s3JIESYyU40qK9fFPcKDpOgxqbZ8K57b7ufOeL9caZ2VN0ixq2G/AoEvZPCijFAVAltcc0W11t6Kri1Cs4cv+ox64dBAwhk9w4fD6F75vgRxC/5aHitafTtRTbZPLSOCJpfeP7hmiBAK/7qMLCo0k1XML9S42fj1yhk87Dfa2FJ1Q69bLFSZbxiM1Z8esenIDk34rZpIszkEwrBDuTVJRC00M7jfWnw4sSDs4ka/hkU/968Fe3ppYWITfdBZccTGSTZK6/Zkn/fKqLIonapqh43O18hujhdcjQFNtnXUDOcnJ5leK9LRziquGi2kO/1Uhc3oR7nnRF5VR/qwXfYabdpDul5Kdp8lo7cp2bozsP5oFiDDO+t/JGLf4ryHtBfKh2HvZbMgcGDfEuRHxfQWDhtHf2xh/hHkYy1L0/W8mGSjopfF0jSHiqYcje05LmNchsSrY1nIA0lTPjnfZimNbKMhEQ0FspBBzpU=
if: branch = master AND type = push
node_js: 12
script:
- |
npm run lint &&
{
# If package version was changed with last merged PR, push tag
tagName=`git diff HEAD^ package.json | grep '"version": "' | grep -oE "[0-9]+\.[0-9]+\.[0-9]+"`
if [ $? -eq 0 ]; then
git tag v$tagName && git push -q https://$GITHUB_TOKEN@github.com/serverless/eslint-config --tags
fi
}
# version tag
- stage: Deploy
env:
# GITHUB_TOKEN
- secure: D1+mm66C9ik6AGzkVO8KkRF3Z8DwquK2clfVhNqL0ZErT2FRxWtv+21bDDfymd2ZOOm3hv9wLQw4O+nreKGWhzNDAZYwx46ngPl6bl+GA+ZeIWXyHbli02dcIevEJU2US1MA1f0kefhDvr6vNTMdOXOk7CmSMYazJa3kcEoCotdc6Fb6et20bXHXh6mE0LDzSTsVXuM9s3JIESYyU40qK9fFPcKDpOgxqbZ8K57b7ufOeL9caZ2VN0ixq2G/AoEvZPCijFAVAltcc0W11t6Kri1Cs4cv+ox64dBAwhk9w4fD6F75vgRxC/5aHitafTtRTbZPLSOCJpfeP7hmiBAK/7qMLCo0k1XML9S42fj1yhk87Dfa2FJ1Q69bLFSZbxiM1Z8esenIDk34rZpIszkEwrBDuTVJRC00M7jfWnw4sSDs4ka/hkU/968Fe3ppYWITfdBZccTGSTZK6/Zkn/fKqLIonapqh43O18hujhdcjQFNtnXUDOcnJ5leK9LRziquGi2kO/1Uhc3oR7nnRF5VR/qwXfYabdpDul5Kdp8lo7cp2bozsP5oFiDDO+t/JGLf4ryHtBfKh2HvZbMgcGDfEuRHxfQWDhtHf2xh/hHkYy1L0/W8mGSjopfF0jSHiqYcje05LmNchsSrY1nIA0lTPjnfZimNbKMhEQ0FspBBzpU=
node_js: 12
script: skip
deploy:
provider: npm
email: services@serverless.com
api_key:
secure: TR0iwraM6LkJFqKIjPbHP04yE4HYD0bY4jTGrf8TQTgeOUw3jF/5vLXU5XORYypWSgxmehKUaeeo8YC0QuC72NF37DkvzmwS7ENoIwcOxEtrIYjWhWVWBsPN8qfM5gFj0k4KY1clvamdTOTQ+yg5od7iYIDhg3L2CM3yMAsx/MifMYZbYvXIUGeXuoohd2XTwh89kSMMoae/E+zSvvZANxByDOAliSM10O6kAn9UclrE8lILskmchuNurzqMpUkIJQuAYXUojYMnou5uZhRPWrtbyrcrv+QFb7LQmqHD3gSJemLrgjKM0/7IkPSirRcca6bixxrJYwCDvr35KkWHUibEbmgBJL1pyAmftBG5cL6qMQzBihLCQDy/dI+leR48uTWDlWA+eSy05vkmYEm5JoxY49R7wbMG/aZb1lZlz+M9+HgUuJO9spK1wIiQrqOV8oLizjMAUFy94xp7/kXImj0KVR6yk2cxBBqDyVAbINitF+h98hl7BPQepoCcj4Y5Mz8y20RPZsk0+Y1z5sfaXhCCeNcPgLqv8uKyDwcXfM1TgoFk9L52m5DfHpBKfm5THWqbY4THB1dpQfPkjZEREwDoFo+fAWefHcB+erJ+kbGl2kxZw/7T/TRZmM34ExFLbUkl4kF/Xc4s3b4QdFkbNfbHljn/2rhg+sFHR3j83FY=
after_deploy: npx github-release-from-cc-changelog $TRAVIS_TAG