-
David Byers authoredDavid Byers authored
.gitlab-ci.yml 8.68 KiB
---
stages:
- prepare
- build
- collect
- deploy
workflow:
rules:
- if: '$CI_COMMIT_TAG'
when: never
- if: '$CI_PIPELINE_SOURCE == "push"'
when: always
- when: never
# Anchors
.release_rules: &release_rules
rules:
- if: '$CI_COMMIT_BRANCH != "master"'
when: never
- if: "$CI_COMMIT_MESSAGE =~ /#release/"
when: always
- when: never
# When changing, also make changes to copies in the build stage
.beta_rules: &beta_rules
rules:
- if: '$CI_COMMIT_BRANCH != "master"'
when: never
- if: "$CI_COMMIT_MESSAGE =~ /#release/"
when: never
- when: always
.dev_rules: &dev_rules
rules:
- if: '$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
artifacts:
paths:
- version
- build/**
prepare:dev:
stage: prepare
image: python:3.7-stretch
script:
- VERSION=$(python3 scripts/update-version.py -n)
- bash scripts/build.sh --version "$VERSION"
<<: *dev_rules
prepare:beta:
extends: .prepare
script:
- python3 scripts/update-version.py -k "$SSH_TAGGING_KEY" -i build -f build -o version -v
- bash scripts/build.sh --version "$(cat version)"
<<: *beta_rules