Files
WorkTime/.gitlab-ci.yml
2025-02-26 19:12:02 +01:00

74 lines
1.2 KiB
YAML

image: node:lts-alpine
stages:
- install
- lint
- test
- build
install:
stage: install
script:
- npm install --prefer-offline
cache:
key:
files:
- package.json
paths:
- node_modules
lint:
stage: lint
needs: ["install"]
script:
- npm run lint
cache:
key:
files:
- package.json
paths:
- node_modules
policy: pull
test:
stage: test
needs: ["install"]
before_script:
# Download Chrome
- apk add chromium
- export CHROME_BIN=/usr/bin/chromium-browser
- export CHROME_PATH=/usr/lib/chromium/
# Download Firefox
- apk add firefox-esr
- export FIREFOX_BIN=/usr/bin/firefox
- export FIREFOX_PATH=/usr/lib/firefox/
# X Server
- apk add xvfb
- export DISPLAY=:99
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
script:
- npm run test -- --browsers=Headless_Chrome --no-watch
cache:
key:
files:
- package.json
paths:
- node_modules
policy: pull
build:
stage: build
needs: ["test", "lint"]
script:
- npm run build
artifacts:
paths:
- $CI_PROJECT_DIR/dist
cache:
key:
files:
- package.json
paths:
- node_modules
policy: pull