-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
72 lines (59 loc) · 1.65 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# SPDX-FileCopyrightText: 2019-2020 Magenta ApS
# SPDX-License-Identifier: MPL-2.0
default:
# All jobs are interruptible by default
interruptible: true
variables:
IMAGE_SHA: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}
RELEASE_REGISTRY_IMAGE: index.docker.io/magentaaps/os2orgviewer
PRODUCT: os2mo
COMPONENT: orgviewer
stages:
- sync
- lint
- build
- release
- deploy
# Conditions
#############
.if-default-branch-refs: &if-default-branch-refs
if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
.if-tag: &if-tag
if: '$CI_COMMIT_TAG'
.if-merge-request: &if-merge-request
if: '$CI_MERGE_REQUEST_IID'
.if-schedule: &if-schedule
if: '$CI_PIPELINE_SOURCE == "schedule"'
# Workflow
###########
workflow:
rules:
- <<: *if-tag
- <<: *if-default-branch-refs
- <<: *if-merge-request
include:
- project: 'labs/salt-automation'
file:
- gitlab-ci-templates/common/no-interrupt.v1.yml
- gitlab-ci-templates/common/conventional-commits.v1.yml
- gitlab-ci-templates/common/docker-build-meta.v2.yml
- gitlab-ci-templates/common/docker-release.v1.yml
- gitlab-ci-templates/common/config-updater-salt.v1.yml
- gitlab-ci-templates/common/config-updater-flux.v1.yml
- project: labs/salt-automation
file: gitlab-ci-templates/common/pre-commit.v1.yml
rules:
- <<: *if-merge-request
# Build
#######
Build:
extends:
- .build-docker
variables:
DOCKERFILE: ${CI_PROJECT_DIR}/docker/Dockerfile
CI_IMAGE: ${IMAGE_SHA}
BUILD_DOCKER_EXTRA_FLAGS: --build-arg=COMMIT_SHA=${CI_COMMIT_SHA} --build-arg=COMMIT_TAG=${CI_COMMIT_TAG}
rules:
- <<: *if-schedule
when: never
- when: on_success