image: registry.gitlab.com/openstapps/projectmanagement/node before_script: - npm ci stages: - build - test - audit - deploy build: stage: build script: - npm run build artifacts: paths: - lib test: stage: test script: - npm test audit: stage: audit script: - npm audit allow_failure: true except: - schedules scheduled-audit: stage: audit script: - npm audit --audit-level=high only: - schedules openapi: dependencies: - build stage: test script: - npm install @openstapps/core - node lib/cli.js openapi node_modules/@openstapps/core/lib openapi - NUMBER_OF_LINES=$(cat openapi/openapi.json | wc -l) - if [ "$NUMBER_OF_LINES" -lt 100 ]; then exit 1; fi artifacts: paths: - openapi/openapi.json package: dependencies: - build tags: - secrecy stage: deploy script: - echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc - npm publish only: - /^v[0-9]+.[0-9]+.[0-9]+$/ artifacts: paths: - lib uml: dependencies: - build stage: test services: - name: registry.gitlab.com/openstapps/core-tools:latest alias: plantuml script: - node lib/cli.js plantuml test/model http://plantuml:8080 --showProperties --showOptionalProperties --showInheritedProperties --showEnumValues --showAssociations --showInheritance --excludeExternals pages: stage: deploy script: - npm run documentation - mv docs public only: - /^v[0-9]+\.[0-9]+\.[0-9]+$/ artifacts: paths: - public