diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ced13c73f3d1015c4b794ee872175eab05825e51..b95e3145f5ce7506452eff2fc42e5290793b749d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,9 +16,11 @@ stages: +# ======================================================================== # Stage: prepare # # Builds unpacked extensions from the source files. +# ======================================================================== .prepare: stage: prepare @@ -53,9 +55,53 @@ prepare:release: <<: *release_rules +# ======================================================================== # Stage: build # # Builds packages from the prepared unpacked extensions. +# ======================================================================== + +# +# Build for Edge +# + +.build:edge: + stage: build + image: python:3.7-stretch + script: + - apt-get -y update + - apt-get -y install zip + - cd build/edge + - zip -r ../../safelinks-cleaner-edge-$VARIANT.xpi * + artifacts: + paths: + - safelinks-cleaner-edge-$VARIANT.xpi + +build:edge:beta: + extends: .build:edge + variables: + VARIANT: beta + rules: + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "beta"' + changes: + - shared/**/* + - firefox/**/* + - edge/**/* + when: always + - if: '$CI_COMMIT_MESSAGE =~ /#force-build:(all|edge)/ && $CI_COMMIT_BRANCH == "beta"' + when: always + - when: never + +build:edge:release: + extends: .build:thunderbird + variables: + VARIANT: release + <<: *release_rules + + +# +# Build for Firefox +# .build:firefox: stage: build @@ -97,6 +143,10 @@ build:firefox:release: <<: *release_rules +# +# Build for Thunderbird +# + .build:thunderbird: stage: build image: python:3.7-stretch @@ -130,9 +180,11 @@ build:thunderbird:release: <<: *release_rules +# ======================================================================== # Stage: collect/deploy # # Wait for build artifacts then deploy new beta version to pages. +# ======================================================================== collect: stage: collect