UNPKG

3.08 kBYAMLView Raw
1version: 2
2jobs:
3 build:
4 machine: true
5 working_directory: ~/build-tools
6 steps:
7 - checkout
8 - restore_cache:
9 key: dependency-cache-{{ checksum "package.json" }}
10 - restore_cache:
11 key: yarn-cache-{{ checksum "package.json" }}
12 - restore_cache:
13 key: dont-break-cache
14 - run:
15 name: Install node@8.10.0
16 command: |
17 set +e
18 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
19 export NVM_DIR="/opt/circleci/.nvm"
20 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
21 nvm install v8.10.0
22 nvm alias default v8.10.0
23
24 # Each step uses the same `$BASH_ENV`, so need to modify it
25 echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
26 echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV
27 - run:
28 name: pre-deps
29 command: |
30 npm install -g yarn@1.5.1
31 sudo chmod -R a+w /usr/local
32 yarn config set cache-folder ~/.cache/yarn
33 if [ "${NPM_TOKEN}" == "" ]; then rm .npmrc; fi
34 - run:
35 name: install-deps
36 command: |
37 npm run setup
38 if [ "${NPM_TOKEN}" != "" ]; then
39 ./scripts/install-dont-break.sh
40 npm install -g .
41 cp -f .npmrc ~
42 yarn global add "@egis/egis-ui-test-utils@^2.28.1-pre.1"
43 update-chrome
44 fi
45 - save_cache:
46 key: dependency-cache-{{ checksum "package.json" }}
47 paths:
48 - node_modules
49 - yarn.lock
50 - run:
51 name: post-deps
52 command: |
53 mkdir ci-artifacts
54 grep "version\"\:" node_modules/*/*/package.json > ci-artifacts/npm_versions.txt
55 grep "version\"\:" node_modules/*/package.json >> ci-artifacts/npm_versions.txt
56 grep "version\"\:" node_modules/*/*/*/package.json >> ci-artifacts/npm_versions.txt
57 cp yarn.lock ci-artifacts/
58 when: always
59 - store_artifacts:
60 path: ci-artifacts/
61 - run:
62 name: test
63 environment:
64 KEEP_MODIFIED_PACKAGE: true
65 command: |
66 npm test
67 merge-build-tools-deps && git checkout -- package.json
68 if [ "${NPM_TOKEN}" != "" ]; then
69 dont-break --timeout 600
70 fi
71 - save_cache:
72 key: yarn-cache-{{ checksum "package.json" }}
73 paths:
74 - ~/.cache/yarn
75 - save_cache:
76 key: dont-break-cache
77 paths:
78 - /tmp/egis-build-tools-v-0-0-0-semantic-release-against-egis-egis-ui
79 - /tmp/egis-build-tools-v-0-0-0-semantic-release-against-egis-esign
80 - /tmp/egis-build-tools-v-0-0-0-semantic-release-against-egis-portal-app
81 - /tmp/egis-build-tools-v-0-0-0-semantic-release-against-egis-bulk-capture
82 - run:
83 name: deploy
84 command: ./scripts/semantic-release.sh