image: docker.stordata.fr/stordata/docker-node:24

stages:
  - test
  - release

include:
  - template: Jobs/SAST.gitlab-ci.yml
  - template: Jobs/Dependency-Scanning.gitlab-ci.yml

variables:
  SAST_EXCLUDED_PATHS: "*.spec.js, *.test.js"

test:
  stage: test
  tags:
    - docker
  script:
    - npm ci
    - npm run lint
    - npm test

release:
  stage: release
  tags:
    - docker
  script:
    - echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
    - sed -i "s/\"version\":\s\"\(.*\..*\)\.\(.*\)\"/\"version\":\"\1.$(date +%Y%m%d%H%M%S)\"/" package.json
    - npm -registry=https://registry.npmjs.org whoami
    - npm -registry=https://registry.npmjs.org publish
    - git checkout .
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
