image: registry.gitlab.com/openstapps/projectmanagement/node include: - project: 'renovate-bot/renovate-runner' file: '/templates/renovate-dind.gitlab-ci.yml' before_script: - npm ci stages: - build - test - maintenance - audit - publish - deploy npm build: stage: build script: - npm run build artifacts: paths: - lib npm test: script: - npm run test stage: test docker image builder: image: registry.gitlab.com/openstapps/projectmanagement/builder stage: build only: variables: - $BUILD_IMAGES == "true" variables: DOCKER_DRIVER: overlay2 services: - docker:dind script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com - docker build -t registry.gitlab.com/openstapps/projectmanagement/builder -f images/builder/Dockerfile . - docker push registry.gitlab.com/openstapps/projectmanagement/builder tags: - docker docker image node: image: registry.gitlab.com/openstapps/projectmanagement/builder stage: build only: variables: - $BUILD_IMAGES == "true" variables: DOCKER_DRIVER: overlay2 services: - docker:dind script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com/openstapps/projectmanagement/ - docker build -t registry.gitlab.com/openstapps/projectmanagement/node -f images/node/Dockerfile . - docker push registry.gitlab.com/openstapps/projectmanagement/node tags: - docker npm audit: allow_failure: true except: - schedules script: - npm audit stage: audit scheduled npm audit: only: - schedules script: - npm audit --audit-level=high stage: audit tidy: script: - node lib/cli tidy stage: maintenance only: variables: - $MAINTENANCE_MODE == "tidy" tags: - secrecy remind: script: - node lib/cli remind stage: maintenance only: variables: - $MAINTENANCE_MODE == "remind" tags: - secrecy unlabel: script: - node lib/cli tidy - node lib/cli unlabel stage: maintenance only: variables: - $MAINTENANCE_MODE == "unlabel" tags: - secrecy renovate: image: renovate/renovate:24.97.1-slim@sha256:c821e3af651992c6988de68daa72c34f9d7e709b306e7b6deb83553cb731a0e7 stage: maintenance variables: RENOVATE_EXTENDS: "gitlab>openstapps/projectmanagement" only: variables: - $RENOVATE == "true" tags: - gitlab-org-docker pages: stage: deploy script: - npm run documentation - mv docs public only: - /^v[0-9]+\.[0-9]+\.[0-9]+$/ artifacts: paths: - public package: dependencies: - npm build tags: - secrecy stage: publish script: - echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc - npm publish only: - /^v[0-9]+.[0-9]+.[0-9]+$/ artifacts: paths: - lib