-
Notifications
You must be signed in to change notification settings - Fork 22
/
.travis.yml
80 lines (71 loc) · 1.91 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
80
language: node_js
sudo: required
dist: trusty
# Blocklist
branches:
except:
- gh-pages # will be deployed to, no need to build it
#cache:
# directories:
# - node_modules
before_install:
- npm install -g npm
# const
- export PACKAGE_NAME=$(node -p "require('./package.json').name")
- export PACKAGE_VERSION=$(node -p "require('./package.json').version")
- export SONAR_VERSION=${PACKAGE_VERSION}-b${TRAVIS_BUILD_ID}-${TRAVIS_BRANCH}
- export NODE_VERSION=$(node --version)
- export NPM_VERSION=$(npm --version)
# logging
- npm --version || echo npm not installed
- node --version || echo node not installed
- echo "package version $PACKAGE_VERSION"
stages:
- build
- test
- release
- deploy
jobs:
include:
# Job: Build
- stage: build
node_js:
- 'lts/*'
- '10'
- '8'
script:
- npm run build
# Job: Test
- stage: test
node_js:
- 'lts/*'
- '10'
- '8'
addons:
sonarcloud:
organization: $(echo $TRAVIS_REPO_SLUG | awk -F '/' '{print $1}')
script:
- npm run test
- if [[ "$TRAVIS_BRANCH" != greenkeeper* && -n "$SONAR_TOKEN" ]]; then sonar-scanner -Dsonar.projectVersion=${SONAR_VERSION}; fi
# Job: Release
- stage: release
if: branch = master AND type = push AND fork = false
node_js:
- 'lts/*'
skip_cleanup: true
script:
- npx semantic-release
# Job: Page
- stage: deploy
if: branch = master AND type = push AND fork = false
node_js:
- 'lts/*'
script:
- targetVersion=$(git describe --tags `git rev-list --tags --max-count=1`)
- npx @rollup-umd/deploy --target-version "${targetVersion}"
deploy:
- provider: pages
skip_cleanup: true
github_token: $GH_TOKEN
keep_history: true
local_dir: public/