This repository has been archived by the owner on Jul 28, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
105 lines (91 loc) · 2.42 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
include:
project: TankerHQ/gitlab-ci-files
file: /native.yml
ref: 2022-01-04-239
stages:
- build
- pre-release
- release
.proxy:
variables:
FETCHPP_TEST_HOST: "httpbin.org"
FETCHPP_TEST_PROXY: "tinyproxy:8888"
services:
- name: registry.gitlab.com/tankerhq/ci/tinyproxy:latest
alias: tinyproxy
.jobs:
extends:
- .build
- .proxy
###############
# build stage #
###############
.rules/build:
rules:
- !reference [.rules/mr/auto, rules]
- !reference [.rules/web/auto, rules]
- !reference [.rules/push-master-or-feat, rules]
- !reference [.rules/release/branch, rules]
build/linux:
extends:
- .jobs
- .rules/build
script:
- poetry run python run-ci.py --isolate-conan-user-home build-and-test --profile linux-release
tags: !reference [.tags/compilation-linux, tags]
build/macos/x86_64:
extends:
- .jobs
- .rules/build
script:
- poetry run python run-ci.py --isolate-conan-user-home build-and-test --profile macos-x86_64-release
tags: !reference [.tags/macos/x86_64, tags]
build/macos/arm:
extends:
- .jobs
- .rules/build
script:
- poetry run python run-ci.py --isolate-conan-user-home build-and-test --profile macos-armv8-release
tags: !reference [.tags/macos/arm, tags]
build/windows:
extends:
- .jobs
- .rules/build
script:
- poetry run python run-ci.py --isolate-conan-user-home build-and-test --profile vs2019-release
tags: !reference [.tags/compilation-windows, tags]
release/prepare:
stage: pre-release
rules:
- if: $CI_COMMIT_REF_NAME =~ /\Arelease\/.+\z/
when: manual
script:
- poetry run python run-ci.py --isolate-conan-user-home prepare-release
artifacts:
reports:
dotenv: variables.env
release/deploy:
stage: release
extends:
- .rules/release/branch
needs:
- job: release/prepare
script:
- echo releasing fetchpp v$FETCHPP_RELEASE_VERSION
release:
description: fetchpp v$FETCHPP_RELEASE_VERSION
tag_name: v$FETCHPP_RELEASE_VERSION
#################
# nightly stage #
#################
build/asan/linux:
extends:
- .jobs
rules:
- !reference [.rules/mr/manual, rules]
- !reference [.rules/nightly, rules]
tags:
# asan use a lot of memory, some runners only have 16GB of memory
- GCE-Runner-008
script:
- poetry run python run-ci.py --isolate-conan-user-home build-and-test --profile linux-asan-release-debinfo --build-missing