Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 1.89 KiB
---
stages:
  - version
  - prepare
  - build
  - deploy

version:
  image: python:3.7-stretch
  stage: version
  script:
    - python3 scripts/update-version.py -k "$SSH_TAGGING_KEY" -o version -v
  artifacts:
    paths:
      - version
  only:
    - branches


prepare:
  stage: prepare
  image: python:3.7-stretch
  script:
    - bash scripts/build.sh --version "$(cat version)"
  artifacts:
    paths:
      - ./build/safelinks-cleaner-thunderbird.xpi
      - ./build/safelinks-cleaner-firefox.xpi
  only:
    - master
    - beta


.deploy:firfox:
  stage: deploy
  image: node:lts-buster
  cache:
    paths:
      - $CI_PROJECT_DIR/.cache/npm
  before_script:
    - mkdir -p "$CI_PROJECT_DIR/.cache/npm"
  script:
    - npm install --global web-ext --cache "$CI_PROJECT_DIR/.cache/npm" --prefer-offline --no-audit
    - cd ./build/firefox
    - web-ext -a . sign --channel=$CHANNEL
    - mv atp_safe_links_cleaner* ../../safelinks-cleaner-firefox.xpi
  artifacts:
    paths:
      - ./build/safelinks-cleaner-firefox.xpi
  when: manual


deploy:firefox:beta:
  extends: .deploy:firefox
  variables:
    - CHANNEL=unlisted
  only:
    - beta


deploy:firefox:master:
  extends: .deploy:firefox
  variables:
    - CHANNEL=listed
  only:
    - master


deploy:thunderbird:
  stage: deploy