54 lines
810 B
YAML
54 lines
810 B
YAML
# ---------- GLOBAL SETUP ---------- #
|
|
workflow:
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
stages:
|
|
- install
|
|
- lint
|
|
- test
|
|
|
|
variables:
|
|
NODE_VERSION: "24.11.1"
|
|
BASE_LAYER: trixie-slim
|
|
|
|
default:
|
|
image: docker.io/library/node:${NODE_VERSION}-${BASE_LAYER}
|
|
cache:
|
|
key: "${CI_COMMIT_REF_SLUG}"
|
|
paths:
|
|
- node_modules/
|
|
policy: pull-push
|
|
|
|
# --------- INSTALLING --------- #
|
|
install:
|
|
stage: install
|
|
tags:
|
|
- install
|
|
script:
|
|
- npm ci
|
|
artifacts:
|
|
paths:
|
|
- node_modules/
|
|
expire_in: 1h
|
|
|
|
# ---------- LINTING ---------- #
|
|
lint:
|
|
stage: lint
|
|
needs:
|
|
- install
|
|
tags:
|
|
- lint
|
|
script:
|
|
- npm run lint
|
|
|
|
# ---------- TESTING ---------- #
|
|
test:
|
|
stage: test
|
|
needs:
|
|
- install
|
|
tags:
|
|
- test
|
|
script:
|
|
- npm run test
|