mattermost-desktop/.circleci/config.yml
2019-01-07 23:32:01 +09:00

62 lines
2.1 KiB
YAML

version: 2
jobs:
build:
working_directory: ~/mattermost-desktop
docker:
- image: electronuserland/builder:wine-mono
steps:
- checkout
- restore_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "package-lock.json" }}
- restore_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "src/package-lock.json" }}
- run: apt-get update && apt-get -y install --no-install-recommends jq icnsutils graphicsmagick tzdata
- run: npm install
- run: npm run build
- run: npm run package:windows
- run: jq '.mac.target=["zip"]' electron-builder.json > /tmp/electron-builder.json && cp /tmp/electron-builder.json .
- run: npm run package:mac
- run: npm run package:linux
- run: mkdir -p /tmp/artifacts
- run: sh -x ./scripts/cp_artifacts.sh release /tmp/artifacts
- run: npm run lint:js
- save_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- "node_modules"
- "~/.cache/electron"
- "~/.cache/electron-builder"
- save_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "src/package-lock.json" }}
paths:
- "src/node_modules"
- store_artifacts:
path: /tmp/artifacts/
destination: packages
- run: ./node_modules/.bin/build-storybook -c src/.storybook -o storybook
- store_artifacts:
path: storybook/
destination: storybook
test:
working_directory: ~/mattermost-desktop
docker:
- image: electronuserland/builder:wine-chrome
steps:
- checkout
- run: apt-get update && apt-get -y install --no-install-recommends libgconf-2-4
- run: npm install
# https://github.com/SeleniumHQ/docker-selenium/issues/222#issuecomment-221307583
- run: DBUS_SESSION_BUS_ADDRESS=/dev/null xvfb-run npm test
- run: mkdir -p /tmp/test-results
- run: cp test-results.xml /tmp/test-results/
- store_test_results:
path: /tmp/test-results
workflows:
version: 2
build_and_test:
jobs:
- build
- test