You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
4.8 KiB
159 lines
4.8 KiB
stages: |
|
- build |
|
- deploy |
|
|
|
.build_template: &build_definition |
|
stage: build |
|
|
|
arm32_dbg: |
|
<<: *build_definition |
|
image: lv2plugin/debian-arm32 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
arm32_rel: |
|
<<: *build_definition |
|
image: lv2plugin/debian-arm32 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
|
|
arm64_dbg: |
|
<<: *build_definition |
|
image: lv2plugin/debian-arm64 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
arm64_rel: |
|
<<: *build_definition |
|
image: lv2plugin/debian-arm64 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
|
|
x64_dbg: |
|
<<: *build_definition |
|
image: lv2plugin/debian-x64 |
|
script: |
|
- meson setup build -Dbuildtype=debug -Ddocs=enabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
artifacts: |
|
paths: |
|
- build/doc |
|
|
|
x64_rel: |
|
<<: *build_definition |
|
image: lv2plugin/debian-x64 |
|
script: |
|
- meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
|
|
x64_static: |
|
<<: *build_definition |
|
image: lv2plugin/debian-x64 |
|
script: |
|
- meson setup build -Ddefault_library=static -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
|
|
x64_sanitize: |
|
<<: *build_definition |
|
image: lv2plugin/debian-x64-clang |
|
script: |
|
- meson setup build -Db_lundef=false -Dbuildtype=plain -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
variables: |
|
CC: "clang" |
|
CXX: "clang++" |
|
CFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" |
|
CXXFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" |
|
LDFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" |
|
|
|
|
|
mingw32_dbg: |
|
<<: *build_definition |
|
image: lv2plugin/debian-mingw32 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
variables: |
|
MESON_TESTTHREADS: "1" |
|
WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\8.3-win32" |
|
|
|
mingw32_rel: |
|
<<: *build_definition |
|
image: lv2plugin/debian-mingw32 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
variables: |
|
MESON_TESTTHREADS: "1" |
|
WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\8.3-win32" |
|
|
|
|
|
mingw64_dbg: |
|
<<: *build_definition |
|
image: lv2plugin/debian-mingw64 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
variables: |
|
MESON_TESTTHREADS: "1" |
|
|
|
mingw64_rel: |
|
<<: *build_definition |
|
image: lv2plugin/debian-mingw64 |
|
script: |
|
- meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
variables: |
|
MESON_TESTTHREADS: "1" |
|
|
|
|
|
mac_dbg: |
|
<<: *build_definition |
|
tags: [macos] |
|
script: |
|
- meson setup build -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
mac_rel: |
|
<<: *build_definition |
|
tags: [macos] |
|
script: |
|
- meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
|
|
win_dbg: |
|
<<: *build_definition |
|
tags: [windows,meson] |
|
script: |
|
- meson setup build -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
win_rel: |
|
<<: *build_definition |
|
tags: [windows,meson] |
|
script: |
|
- meson setup build -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true |
|
- ninja -C build test |
|
|
|
pages: |
|
stage: deploy |
|
script: |
|
- mkdir public |
|
- mkdir public/c |
|
- mv build/doc/c/singlehtml/ public/c/singlehtml/ |
|
dependencies: |
|
- x64_dbg |
|
artifacts: |
|
paths: |
|
- public |
|
only: |
|
- master
|
|
|