image: node:14.15.5-stretch-slim variables: GIT_DEPTH: 0 GIT_STRATEGY: fetch stages: - build - release build: stage: build image: $CI_REGISTRY/$CI_PROJECT_ROOT_NAMESPACE/ci-tools/docker/ci-tools-docker-node-14:1.0.0 variables: MODULE_DIRS: lang styles MODULE_ZIP_DIRS: elements lang styles extends: .build .build: stage: build image: $CI_REGISTRY/$CI_PROJECT_ROOT_NAMESPACE/ci-tools/docker/ci-tools-docker-node-14:1.0.0 before_script: - npm ci - npm run build script: - cp -r $MODULE_DIRS dist/ - cp module.json dist - cd dist - zip $CI_PROJECT_NAME.zip -r *.* $MODULE_ZIP_DIRS -x ".*" - echo ARTIFACT_LOC="${CI_JOB_URL}/artifacts/raw" > $CI_PROJECT_DIR/variables.env artifacts: name: $CI_COMMIT_REF_NAME when: on_success reports: dotenv: variables.env paths: - dist/$CI_PROJECT_NAME.zip - dist/module.json expire_in: never only: - tags - master - main release: stage: release image: registry.gitlab.com/gitlab-org/release-cli:latest script: - echo 'Running the release job.' release: tag_name: $CI_COMMIT_TAG name: 'Release $CI_COMMIT_TAG' description: './CHANGELOG.md' assets: links: - name: 'module' url: '$ARTIFACT_LOC/dist/$CI_PROJECT_NAME.zip' filepath: '/dist/$CI_PROJECT_NAME.zip' link_type: package - name: 'manifest' url: '$ARTIFACT_LOC/dist/module.json' filepath: '/dist/module.json' link_type: package only: - tags