From 0c472ccd7b6fe66421ad3f2a33497d0fb348e259 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Sun, 11 Mar 2018 14:59:03 +0900 Subject: [PATCH] Add CircleCI --- .circleci/config.yml | 69 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..2831d12 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,69 @@ +version: 2 +jobs: + install_firefox: + docker: + - image: circleci/node:9-stretch + environment: + - FIREFOX_VERSION: "59.0b9" + working_directory: ~ + steps: + - restore_cache: + key: firefox-bin + paths: + - ~/firefox + - run: + name: Install Firefox + command: | + test -d ~/firefox/${FIREFOX_VERSION} && exit 0 + url=https://ftp.mozilla.org/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 + curl -sSL -o- "$url" | tar xvfj - + mkdir -p ~/firefox + mv firefox ~/firefox/${FIREFOX_VERSION} + - save_cache: + key: firefox-bin + paths: + - ~/firefox + npm_install: + docker: + - image: circleci/node:9-stretch-browsers + steps: + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package.json" }} + - run: + name: Install npm wee + command: npm install + - save_cache: + key: dependency-cache-{{ checksum "package.json" }} + paths: + - node_modules + build: + docker: + - image: circleci/node:9-stretch-browsers + environment: + - FIREFOX_VERSION: "59.0b9" + steps: + - run: sudo apt-get update && sudo apt-get install -y libgtk-3-0 libdbus-glib-1-2 + - checkout + - restore_cache: + key: firefox-bin + - restore_cache: + key: dependency-cache-{{ checksum "package.json" }} + - run: echo 'export PATH=~/firefox/$FIREFOX_VERSION:$PATH' >> $BASH_ENV + - run: npm run lint + - run: npm test + - run: npm run package + - run: npm run build + - run: npm run ambassador:build + - run: node e2e/web-server & npm run test:e2e + +workflows: + version: 2 + build_and_test: + jobs: + - install_firefox + - npm_install + - build: + requires: + - install_firefox + - npm_install