variables: EXTENSION_PATH: "./deadlock-plugins/deadlock-extension" REGISTRY: "registry.takima.io" stages: - build - publish before_script: - apk update - apk add nodejs npm - apk add yarn - apk add curl - export TAG=${CI_COMMIT_TAG:-latest} - ./setup.sh build: stage: build services: - docker:18.09.6-dind variables: VERSION: "desktop" script: - ./build.sh $TAG desktop $CI_REGISTRY_IMAGE - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $REGISTRY - docker push $CI_REGISTRY_IMAGE/$VERSION:$TAG rules: - if: $CI_COMMIT_BRANCH == "main" - if: $CI_COMMIT_TAG != null desktop_extension:package:pre-release: stage: build cache: paths: - $EXTENSION_PATH policy: push script: - ./build-desktop.sh staging rules: - if: $CI_COMMIT_TAG =~ /(?:\d+.){2}(?:\d+)*(1|3|5|7|9)$/ # If tag is like X.Y.Z and Z is odd desktop_extension:publish:pre-release: stage: publish cache: paths: - $EXTENSION_PATH policy: pull script: - cd $EXTENSION_PATH - npm run vsce-publish -- --pre-release -p $VSCODE_EXTENSION_MARKET_PLACE_ACCESS_TOKEN rules: - if: $CI_COMMIT_TAG =~ /(?:\d+.){2}(?:\d+)*(1|3|5|7|9)$/ # If tag is like X.Y.Z and Z is odd desktop_extension:package:release: stage: build cache: paths: - $EXTENSION_PATH policy: push script: - ./build-desktop.sh prod rules: - if: $CI_COMMIT_TAG =~ /(?:\d+.){2}(?:\d+)*(2|4|6|8|0)$/ # If tag is like X.Y.Z and Z is even desktop_extension:publish:release: stage: publish cache: paths: - $EXTENSION_PATH policy: pull script: - cd $EXTENSION_PATH - npm run vsce-publish -- -p $VSCODE_EXTENSION_MARKET_PLACE_ACCESS_TOKEN rules: - if: $CI_COMMIT_TAG =~ /(?:\d+.){2}(?:\d+)*(2|4|6|8|0)$/ # If tag is like X.Y.Z and Z is even