stages:
  - build
  - deploy

workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
    - if: $CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/
    - when: never

build:
  stage: build
  script:
    - make build
  rules:
    - changes:
        - src/**/*
        - package-lock.json
      when: on_success
    - when: manual
      allow_failure: true

deploy:
  stage: deploy
  script:
    - echo "release $CI_COMMIT_TAG"
  rules:
    - if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/ && $CI_COMMIT_BRANCH == null'
      when: on_success
    - if: $DEPLOY_ENABLED != "true"
      when: never
