image: node:16.14.2 cache: paths: - .yarn/cache/ stages: - code-quality - test - integ - build default: before_script: - yarn install --immutable lint: stage: code-quality script: - yarn types - yarn lint:ci artifacts: reports: codequality: gl-codequality.json typecheck: stage: code-quality script: - yarn types - yarn typecheck:ci test: stage: test coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/ script: - yarn test:ci artifacts: reports: coverage_report: coverage_format: cobertura path: coverage/test/cobertura-coverage.xml junit: junit.xml integ: stage: integ coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/ before_script: - apt-get update - apt-get install -y dbus-x11 libasound2 libatk1.0-0 libatk-bridge2.0-0 libcups2 libgbm1 libgtk-3-0 libnss3 xvfb - yarn install --immutable script: - yarn test:integ:xvfb:ci - yarn test:integ:check-exit artifacts: reports: coverage_report: coverage_format: cobertura path: coverage/integ/cobertura-coverage.xml junit: junit.xml # TODO: GitlabCI free runners are only for linux - need to investigate for macos and windows artifacts build: stage: build script: - yarn compile # TODO: Need to publish the built distributable file artifacts: expire_in: 1 week paths: - dist/ exclude: - dist/builder-debug.yml - dist/builder-effective-config.yaml