1
0
Fork 0
mirror of https://github.com/heyarne/airsonic-ui.git synced 2026-05-06 18:33:38 +02:00
airsonic-ui/.circleci/config.yml

99 lines
2.6 KiB
YAML

version: 2
jobs:
test:
working_directory: ~/repo
docker:
- image: circleci/openjdk:11-jdk-stretch-node-browsers
environment:
- CHROME_BIN: "/usr/bin/google-chrome"
steps:
- checkout
- restore_cache:
keys:
- build_cache-{{ checksum "package.json" }}-{{ checksum "shadow-cljs.edn" }}
- run:
name: Install dependencies
command: npm install
- run:
name: Test
command: npm test
- save_cache:
paths:
- node_modules
- .shadow-cljs
- ~/.m2
- ~/.npm
key: build_cache-{{ checksum "package.json" }}-{{ checksum "shadow-cljs.edn" }}
build:
working_directory: ~/repo
docker:
- image: circleci/openjdk:11-jdk-stretch-node-browsers
steps:
- checkout
- restore_cache:
keys:
- build_cache-{{ checksum "package.json" }}-{{ checksum "shadow-cljs.edn" }}
- run:
name: Install dependencies
command: npm install
- run:
name: Build SPA
command: npm run build
- save_cache:
paths:
- node_modules
- .shadow-cljs
- ~/.m2
- ~/.npm
key: build_cache-{{ checksum "package.json" }}-{{ checksum "shadow-cljs.edn" }}
- persist_to_workspace:
root: /home/circleci/repo/public
paths:
- "*"
deploy:
working_directory: ~/repo
docker:
- image: circleci/openjdk:11-jdk-stretch-node-browsers
steps:
- add_ssh_keys:
fingerprints:
- "85:2f:28:0f:b9:45:b8:f1:0f:c2:0a:1c:5e:4d:a2:06"
- checkout
- attach_workspace:
at: /home/circleci/repo/public
- restore_cache:
keys:
- build_cache-{{ checksum "package.json" }}-{{ checksum "shadow-cljs.edn" }}
- run:
name: Install dependencies
command: npm install
- run:
name: Deploy to gh-pages branch
command: |
git config user.email "build@circleci.com"
git config user.name "ci-build"
npm run deploy
workflows:
version: 2
test-build-deploy:
jobs:
- test:
filters:
branches:
ignore:
- gh-pages
- build:
filters:
branches:
ignore:
- gh-pages
requires:
- test
- deploy:
requires:
- build
filters:
branches:
only: master