.circleci/config.yml
version: 2.1
jobs:
build:
docker:
- image: circleci/golang:1.17.5-node
- image: circleci/postgres:latest-postgis
environment:
POSTGRES_USER: test
POSTGRES_DB: test
POSTGRES_PASSWORD: test
working_directory: ~/GlobeTrotte
steps:
- run: go version
- run: node --version
- checkout
- restore_cache:
key: please-{{ checksum "pleasew" }}
# - restore_cache:
# key: pnpm-store-{{ checksum "package.json" }}
- restore_cache:
key: node-modules-{{ checksum "package.json" }}
- run: sudo apt-get update
- run: sudo apt-get install -y libasound2 libgbm-dev libgconf-2-4 libgtk2.0-0 libgtk-3-0 libnotify-dev libnss3 libxcomposite-dev libxcomposite1 libxss1 libxtst6 lsof postgresql-client xauth xvfb
- run: /usr/bin/Xvfb :99 -screen 0 1920x1080x24+32 &
- run: echo 'export DISPLAY=:99' >> $BASH_ENV
- run: echo 'export PATH=/home/circleci/.nimble/bin:$HOME/wings:$PATH' >> $BASH_ENV
- run: echo 'export USER="circleci"' >> $BASH_ENV
- run: sudo npm i -g pnpm@7.1.0
- run: pnpm i
- run: ./scripts/setup.sh -s
- run: cp config/test.kdl config/config.kdl
- run: dockerize -wait tcp://localhost:5432 -timeout 1m
- run: ./pleasew go_mod
# run tests
- run: ./pleasew build --show_all_output
- run: ./pleasew lint
- run: ./pleasew cover --show_all_output //src/turbine/...
- run: pnpm run -r check:tsc
- run:
command: ./pleasew run "//src/turbine:main"
background: true
- run: sleep 3
- run:
command: ./pleasew show
background: true
- run: sleep 3
# - run: ./pleasew test --show_all_output
# - run: ./pleasew test --show_all_output //src/cockpit/tests/components/...
# - run: ./pleasew test --show_all_output //src/cockpit/tests/views/...
- run: pnpm run install_playwright --no-frozen-lockfile
- run: pnpm run -r test:circleci
- run: ./scripts/leftover.sh
- save_cache:
key: please-{{ checksum "pleasew" }}
paths:
- ~/.please
- save_cache:
key: pnpm-store-{{ checksum "package.json" }}
paths:
- ~/.pnpm-store
- save_cache:
key: node-modules-{{ checksum "package.json" }}
paths:
- node_modules
- store_artifacts:
path: ~/GlobeTrotte/src/cockpit/playwright
- store_artifacts:
path: ~/GlobeTrotte/src/cockpit/playwright_coverage
- store_artifacts:
path: ~/GlobeTrotte/coverage
- store_artifacts:
path: ~/GlobeTrotte/logs