-
Notifications
You must be signed in to change notification settings - Fork 98
/
azure-pipelines.yml
98 lines (94 loc) · 3.23 KB
/
azure-pipelines.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
# Build and test using Docker images for test environment (includes external dependencies)
trigger:
- main
pool:
vmImage: "ubuntu-22.04"
variables:
IMAGE_REGISTRY: "ghcr.io/geodynamics/pylith_installer"
stages:
- stage: start
jobs:
- job: hello
steps:
- bash: echo "Empty stage"
- stage: build_basic
displayName: "Basic Build"
dependsOn: start
jobs:
- job: debian_stable
variables:
BASE_IMAGE: "testenv-debian-stable"
TEST_COVERAGE: "yes"
PYTHON_COVERAGE: "coverage3"
steps:
- checkout: self
submodules: "true"
- task: Docker@2
displayName: Build
inputs:
command: "build"
Dockerfile: "docker/pylith-testenv"
buildContext: $(Build.SourcesDirectory)
arguments: "-t pylith-testenv --build-arg BASE_IMAGE=$(IMAGE_REGISTRY)/$(BASE_IMAGE) --build-arg TEST_COVERAGE=$(TEST_COVERAGE) --build-arg PYTHON_COVERAGE=$(PYTHON_COVERAGE) --target build"
addPipelineData: false
addBaseImageData: false
- script: ci_env=`bash <(curl -s https://codecov.io/env)`; docker run $ci_env -e CI=true pylith-testenv ci-config/run_tests.sh
displayName: Test
env:
CODECOV_TOKEN: $(codecovToken)
- stage: build_others
displayName: "Other Builds"
dependsOn: build_basic
jobs:
- job: main
strategy:
matrix:
debian_testing:
BASE_IMAGE: "testenv-debian-testing"
ubuntu_20_04:
BASE_IMAGE: "testenv-ubuntu-20.04"
ubuntu_22_04:
BASE_IMAGE: "testenv-ubuntu-22.04"
#ubuntu_24_04:
# BASE_IMAGE: "testenv-ubuntu-24.04"
fedora_38:
BASE_IMAGE: "testenv-fedora-38"
fedora_39:
BASE_IMAGE: "testenv-fedora-39"
centos_7:
BASE_IMAGE: "testenv-centos-7"
rockylinux_8:
BASE_IMAGE: "testenv-rockylinux-8"
rockylinux_9:
BASE_IMAGE: "testenv-rockylinux-9"
steps:
- checkout: self
submodules: "true"
- task: Docker@2
displayName: Build
inputs:
command: "build"
Dockerfile: "docker/pylith-testenv"
buildContext: $(Build.SourcesDirectory)
arguments: "-t pylith-testenv --build-arg BASE_IMAGE=$(IMAGE_REGISTRY)/$(BASE_IMAGE) --target build"
addPipelineData: false
addBaseImageData: false
- script: docker run pylith-testenv ci-config/run_tests.sh
displayName: Test
- stage: build_docs
displayName: "Build docs"
dependsOn: start
jobs:
- job: docs
variables:
BASE_IMAGE: "testenv-ubuntu-20.04"
steps:
- task: Docker@2
displayName: Build
inputs:
command: "build"
Dockerfile: "docker/pylith-docenv"
buildContext: $(Build.SourcesDirectory)
arguments: "-t pylith-docenv --build-arg BASE_IMAGE=$(IMAGE_REGISTRY)/$(BASE_IMAGE)"
addPipelineData: false
addBaseImageData: false