image: registry.gitlab.com/openstapps/projectmanagement/node stages: - build - audit - publish - deploy before_script: - npm ci npm build: stage: build script: - npm run build artifacts: paths: - lib audit: allow_failure: true except: - schedules script: - npm audit stage: audit scheduled-audit: only: - schedules script: - npm audit --audit-level=high stage: audit docker image: image: registry.gitlab.com/openstapps/projectmanagement/builder:latest dependencies: - npm build stage: publish variables: DOCKER_DRIVER: overlay2 services: - docker:dind script: - export CORE_VERSION=$(openstapps-projectmanagement get-used-version @openstapps/core) - export VERSION=$(echo -n "$CI_BUILD_REF_NAME" | cut -c 2-) - export IMAGETAG_BASE=$CI_REGISTRY_IMAGE - export IMAGETAG_CORE_VERSION=$IMAGETAG_BASE:core-$CORE_VERSION - export IMAGETAG_VERSION=$IMAGETAG_BASE:$VERSION - export IMAGETAG_LATEST=$IMAGETAG_BASE:latest - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY - docker build -t $IMAGETAG_LATEST -t $IMAGETAG_VERSION -t $IMAGETAG_CORE_VERSION . - docker push $IMAGETAG_BASE only: - /^v[0-9]+\.[0-9]+\.[0-9]+$/ except: - branches tags: - docker pages: artifacts: paths: - public only: - /^v[0-9]+\.[0-9]+\.[0-9]+$/ script: - npm run documentation - mv docs public stage: deploy