Migrate to CircleCI 2.0

This commit is contained in:
Yuya Ochiai 2017-07-12 00:01:23 +09:00
parent aa5e6563fe
commit 154db5a331
2 changed files with 54 additions and 38 deletions

54
.circleci/config.yml Normal file
View file

@ -0,0 +1,54 @@
version: 2
jobs:
build:
working_directory: ~/mattermost-desktop
docker:
- image: electronuserland/builder:wine-mono
steps:
- checkout
- restore_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}
- restore_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "src/yarn.lock" }}
- run: apt-get update && apt-get -y install --no-install-recommends jq icnsutils graphicsmagick
- run: yarn
- run: npm run build
- run: npm run package:windows
- 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
- save_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "yarn.lock" }}
paths:
- "node_modules"
- "~/.cache/electron"
- "~/.cache/electron-builder"
- save_cache:
key: npm-{{ arch }}-{{ .Branch }}-{{ checksum "src/yarn.lock" }}
paths:
- "src/node_modules"
- store_artifacts:
path: /tmp/artifacts/
destination: packages
test:
working_directory: ~/mattermost-desktop
docker:
- image: electronuserland/builder:wine-chrome
steps:
- checkout
- run: yarn
# 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

View file

@ -1,38 +0,0 @@
machine:
node:
version: 8.2.0
dependencies:
cache_directories:
- "src/node_modules"
- ~/.cache/yarn
- ~/.cache/electron
- ~/.cache/electron-builder
override:
- yarn
post:
- if git status --short | grep yarn\.lock; then echo 'yarn.lock is not updated'; false; else true; fi
- sudo dpkg --add-architecture i386
- sudo add-apt-repository ppa:ubuntu-wine/ppa -y
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
- echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
- sudo apt-get update
- sudo apt-get install --no-install-recommends -y
icnsutils graphicsmagick xz-utils jq
wine1.8 mono-devel ca-certificates-mono
gcc-multilib g++-multilib
- unset DISPLAY && wineboot --init
- npm run build
- npm run package:windows
- npm run package:mac
- npm run package:linux
- sh -x ./scripts/cp_artifacts.sh release $CIRCLE_ARTIFACTS
test:
override:
- yarn test
post:
- mv test-results.xml $CIRCLE_TEST_REPORTS/