1stages: [build, test, deploy]
2
3variables:
4  GIT_SUBMODULE_STRATEGY: normal
5
6.build_template: &build_definition
7  stage: build
8  artifacts:
9    paths: ["build/", ".lock-waf*"]
10
11.test_template: &test_definition
12  stage: test
13  artifacts:
14    paths: [build/coverage]
15
16
17arm32_dbg:
18  <<: *build_definition
19  image: lv2plugin/debian-arm32
20  script: python ./waf configure build -dST --werror
21  variables:
22    CC: "arm-linux-gnueabihf-gcc"
23    CXX: "arm-linux-gnueabihf-g++"
24
25test:arm32_dbg:
26  <<: *test_definition
27  image: lv2plugin/debian-arm32
28  script: python ./waf test --wrapper=qemu-arm
29  needs: [arm32_dbg]
30
31
32arm32_rel:
33  <<: *build_definition
34  image: lv2plugin/debian-arm32
35  script: python ./waf configure build -ST --werror
36  variables:
37    CC: "arm-linux-gnueabihf-gcc"
38    CXX: "arm-linux-gnueabihf-g++"
39
40test:arm32_rel:
41  <<: *test_definition
42  image: lv2plugin/debian-arm32
43  script: python ./waf test --wrapper=qemu-arm
44  needs: [arm32_rel]
45
46
47arm64_dbg:
48  <<: *build_definition
49  image: lv2plugin/debian-arm64
50  script: python ./waf configure build -dST --werror
51  variables:
52    CC: "aarch64-linux-gnu-gcc"
53    CXX: "aarch64-linux-gnu-g++"
54
55test:arm64_dbg:
56  <<: *test_definition
57  image: lv2plugin/debian-arm64
58  script: python ./waf test --wrapper=qemu-aarch64
59  needs: [arm64_dbg]
60
61
62arm64_rel:
63  <<: *build_definition
64  image: lv2plugin/debian-arm64
65  script: python ./waf configure build -ST --werror
66  variables:
67    CC: "aarch64-linux-gnu-gcc"
68    CXX: "aarch64-linux-gnu-g++"
69
70test:arm64_rel:
71  <<: *test_definition
72  image: lv2plugin/debian-arm64
73  script: python ./waf test --wrapper=qemu-aarch64
74  needs: [arm64_rel]
75
76
77x64_dbg:
78  <<: *build_definition
79  image: lv2plugin/debian-x64
80  script: python ./waf configure build -dST --werror
81
82test:x64_dbg:
83  <<: *test_definition
84  image: lv2plugin/debian-x64
85  script: python ./waf test
86  needs: [x64_dbg]
87
88
89x64_rel:
90  <<: *build_definition
91  image: lv2plugin/debian-x64
92  script: python ./waf configure build -ST --werror
93
94test:x64_rel:
95  <<: *test_definition
96  image: lv2plugin/debian-x64
97  script: python ./waf test
98  needs: [x64_rel]
99
100
101mac_dbg:
102  <<: *build_definition
103  script: python ./waf configure build -dST --werror --no-coverage
104  tags: [macos]
105
106test:mac_dbg:
107  <<: *test_definition
108  script: python ./waf test
109  needs: [mac_dbg]
110  tags: [macos]
111
112
113mac_rel:
114  <<: *build_definition
115  script: python ./waf configure build -ST --werror --no-coverage
116  tags: [macos]
117
118test:mac_rel:
119  <<: *test_definition
120  script: python ./waf test
121  needs: [mac_rel]
122  tags: [macos]
123
124
125win_dbg:
126  <<: *build_definition
127  script: python ./waf configure build -dST --werror --no-coverage
128  tags: [windows,msvc,python]
129
130test:win_dbg:
131  <<: *test_definition
132  script: python ./waf test
133  needs: [win_dbg]
134  tags: [windows,msvc,python]
135
136
137win_rel:
138  <<: *build_definition
139  script: python ./waf configure build -ST --werror --no-coverage
140  tags: [windows,msvc,python]
141
142test:win_rel:
143  <<: *test_definition
144  script: python ./waf test
145  needs: [win_rel]
146  tags: [windows,msvc,python]
147
148
149pages:
150  stage: deploy
151  script: mv build/coverage/ public/
152  dependencies: ["test:x64_dbg"]
153  artifacts:
154    paths: [public]
155  only:
156    - master
157