aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-07-27 18:45:44 -0400
committerDavid Robillard <d@drobilla.net>2022-01-14 19:37:51 -0500
commitcab9b5621b4db600376090f28fdc76c7ac6bd728 (patch)
treea3b6253de9a4c16fa752e310857dee487b880759
parentf55c6a35fba2851ba909cab433f0a94f8a1d4107 (diff)
downloadserd-cab9b5621b4db600376090f28fdc76c7ac6bd728.tar.gz
serd-cab9b5621b4db600376090f28fdc76c7ac6bd728.tar.bz2
serd-cab9b5621b4db600376090f28fdc76c7ac6bd728.zip
Add a convenience script to run all docker builds
-rwxr-xr-xscripts/run_docker.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/scripts/run_docker.sh b/scripts/run_docker.sh
new file mode 100755
index 00000000..6f2b20d3
--- /dev/null
+++ b/scripts/run_docker.sh
@@ -0,0 +1,65 @@
+#!/usr/bin/env sh
+
+set -e
+set -x
+
+# default configuration
+sudo rm -rf build
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64 meson setup build
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64 ninja -C build test
+
+# arm32_dbg
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm32 meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm32 ninja -C build test
+
+# arm32_rel
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm32 meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm32 ninja -C build test
+
+# arm64_dbg
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm64 meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm64 ninja -C build test
+
+# arm64_rel
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm64 meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -v $PWD:/workdir lv2plugin/debian-arm64 ninja -C build test
+
+# x64_dbg
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64 meson setup build -Dbuildtype=debug -Ddocs=enabled -Dstrict=true -Dwerror=true -Db_coverage=true
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64 ninja -C build test
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64 ninja -C build coverage-html
+
+# x64_rel
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64 meson setup build -Dbuildtype=release -Ddocs=enabled -Dstrict=true -Dwerror=true
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64 ninja -C build test
+
+# x64_sanitize
+sudo rm -r build
+docker run -t -v $PWD:/workdir -e CC="clang" -e CXX="clang++" -e CFLAGS="-fno-sanitize-recover=all -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" -e CXXFLAGS="-fno-sanitize-recover=all -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" -e LDFLAGS="-fno-sanitize-recover=all -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" lv2plugin/debian-x64-clang meson setup build -Db_lundef=false -Dbuildtype=plain -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -v $PWD:/workdir lv2plugin/debian-x64-clang ninja -C build test
+
+# mingw32_dbg
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-mingw32 meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -e MESON_TESTTHREADS=1 -e WINEPATH="Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\8.3-win32;Z:\\workdir\\build\\subprojects\\exess" -v $PWD:/workdir lv2plugin/debian-mingw32 ninja -C build test
+
+# mingw32_rel
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-mingw32 meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -e MESON_TESTTHREADS=1 -e WINEPATH="Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\8.3-win32;Z:\\workdir\\build\\subprojects\\exess" -v $PWD:/workdir lv2plugin/debian-mingw32 ninja -C build test
+
+# mingw64_dbg
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-mingw64 meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -e MESON_TESTTHREADS=1 -e WINEPATH="Z:\\usr\\lib\\gcc\\x86_64-w64-mingw32\\8.3-win32;Z:\\workdir\\build\\subprojects\\exess" -v $PWD:/workdir lv2plugin/debian-mingw64 ninja -C build test
+
+# mingw64_rel
+sudo rm -r build
+docker run -t -v $PWD:/workdir lv2plugin/debian-mingw64 meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+docker run -t -e MESON_TESTTHREADS=1 -e WINEPATH="Z:\\usr\\lib\\gcc\\x86_64-w64-mingw32\\8.3-win32;Z:\\workdir\\build\\subprojects\\exess" -v $PWD:/workdir lv2plugin/debian-mingw64 ninja -C build test