Newer
Older
.release_rules: &release_rules
rules:
- if: "$CI_COMMIT_TAG =~ /^release-/ && $CI_COMMIT_BRANCH == 'master'"
when: always
- when: never
# Stage: prepare
#
# Builds unpacked extensions from the source files.
.prepare:
stage: prepare
image: python:3.7-stretch
script:
- python3 scripts/update-version.py -k "$SSH_TAGGING_KEY" -o version -v
- bash scripts/build.sh --version "$(cat version)"
artifacts:
paths:
prepare:release:
extends: .prepare
<<: *release_rules
# Stage: build
#
# Builds packages from the prepared unpacked extensions.
cache:
paths:
- $CI_PROJECT_DIR/.cache/npm
before_script:
- mkdir -p "$CI_PROJECT_DIR/.cache/npm"
- npm install --global web-ext --cache "$CI_PROJECT_DIR/.cache/npm" --prefer-offline --no-audit
- web-ext -a . sign --channel=$CHANNEL
- mv atp_safe_links_cleaner* ../../safelinks-cleaner-firefox-$VARIANT.xpi
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "beta"'
- if: '$CI_COMMIT_MESSAGE =~ /#force-build:(all|firefox)/ && $CI_COMMIT_BRANCH == "beta"'
image: python:3.7-stretch
script:
- apt-get -y update
- apt-get -y install zip
- cd build/thunderbird
artifacts:
paths:
- safelinks-cleaner-thunderbird-$VARIANT.xpi
.build:thunderbird:beta:
extends: .build:thunderbird
variables:
VARIANT: beta
rules:
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "beta"'
- if: '$CI_COMMIT_MESSAGE =~ /#force-build:(all|thunderbird)/ && $CI_COMMIT_BRANCH == "beta"'
.build:thunderbird:release:
extends: .build:thunderbird
variables:
VARIANT: release
<<: *release_rules
# Stage: collect/deploy
#
# Wait for build artifacts then deploy new beta version to pages.
- sed -i -e "s/%BUILDDATE%/$(date +'%Y-%m-%d %H:%M')/g" .public/index.html
- sed -i -e "s/VERSION%/$(cat version)/g" .public/index.html
- project: $CI_PROJECT_PATH
job: build:thunderbird:beta
ref: $CI_COMMIT_REF_NAME
artifacts: true
- project: $CI_PROJECT_PATH
job: build:firefox:beta
ref: $CI_COMMIT_REF_NAME
artifacts: true