1stages:
2  - build
3  - deploy
4
5variables:
6  GIT_SUBMODULE_STRATEGY: normal
7
8.build_template: &build_definition
9  stage: build
10
11arm32_dbg:
12  <<: *build_definition
13  image: lv2plugin/debian-arm32
14  script: python ./waf configure build -dST --werror --no-coverage
15  variables:
16    CC: "arm-linux-gnueabihf-gcc"
17    CXX: "arm-linux-gnueabihf-g++"
18
19arm32_rel:
20  <<: *build_definition
21  image: lv2plugin/debian-arm32
22  script: python ./waf configure build -ST --werror --no-coverage
23  variables:
24    CC: "arm-linux-gnueabihf-gcc"
25    CXX: "arm-linux-gnueabihf-g++"
26
27arm64_dbg:
28  <<: *build_definition
29  image: lv2plugin/debian-arm64
30  script: python ./waf configure build -dST --werror --no-coverage
31  variables:
32    CC: "aarch64-linux-gnu-gcc"
33    CXX: "aarch64-linux-gnu-g++"
34
35arm64_rel:
36  <<: *build_definition
37  image: lv2plugin/debian-arm64
38  script: python ./waf configure build -ST --werror --no-coverage
39  variables:
40    CC: "aarch64-linux-gnu-gcc"
41    CXX: "aarch64-linux-gnu-g++"
42
43x64_dbg:
44  <<: *build_definition
45  image: lv2plugin/debian-x64
46  script: python3 ./waf configure build -dST --werror --no-coverage --docs
47  artifacts:
48    paths:
49      - build/doc
50
51x64_rel:
52  <<: *build_definition
53  image: lv2plugin/debian-x64
54  script: python ./waf configure build -ST --werror --no-coverage
55
56mingw32_dbg:
57  <<: *build_definition
58  image: lv2plugin/debian-mingw32
59  script: python ./waf configure build -dST --werror --no-coverage --target=win32
60  variables:
61    CC: "i686-w64-mingw32-gcc"
62    CXX: "i686-w64-mingw32-g++"
63
64mingw32_rel:
65  <<: *build_definition
66  image: lv2plugin/debian-mingw32
67  script: python ./waf configure build -ST --werror --no-coverage --target=win32
68  variables:
69    CC: "i686-w64-mingw32-gcc"
70    CXX: "i686-w64-mingw32-g++"
71
72mingw64_dbg:
73  <<: *build_definition
74  image: lv2plugin/debian-mingw64
75  script: python ./waf configure build -dST --werror --no-coverage --target=win32
76  variables:
77    CC: "x86_64-w64-mingw32-gcc"
78    CXX: "x86_64-w64-mingw32-g++"
79
80mingw64_rel:
81  <<: *build_definition
82  image: lv2plugin/debian-mingw64
83  script: python ./waf configure build -ST --werror --no-coverage --target=win32
84  variables:
85    CC: "x86_64-w64-mingw32-gcc"
86    CXX: "x86_64-w64-mingw32-g++"
87
88mac_dbg:
89  <<: *build_definition
90  script: python ./waf configure build -dST --werror --no-coverage
91  tags: [macos]
92
93mac_rel:
94  <<: *build_definition
95  script: python ./waf configure build -ST --werror --no-coverage
96  tags: [macos]
97
98win_dbg:
99  <<: *build_definition
100  script:
101    - python ./waf configure build -dST --werror --no-coverage
102  tags: [windows,msvc,python]
103
104win_rel:
105  <<: *build_definition
106  script: python ./waf configure build -ST --werror --no-coverage
107  tags: [windows,msvc,python]
108
109pages:
110  stage: deploy
111  script:
112    - mkdir public
113    - mkdir public/c
114    - mkdir public/cpp
115    - mv build/doc/c/singlehtml/ public/c/singlehtml/
116    - mv build/doc/cpp/singlehtml/ public/cpp/singlehtml/
117  dependencies:
118    - x64_dbg
119  artifacts:
120    paths:
121      - public
122  only:
123    - master
124