From 70c5a37d7f0535f75a3b07d16178fe3942a1ad66 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Thu, 8 Aug 2024 17:27:10 -0400 Subject: [PATCH] consolidate ci-test scripts --- .github/workflows/arch.x86_64.yml | 4 +- build-aux/ci-test | 65 ++++++++++++++++++++++++++++--- 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/.github/workflows/arch.x86_64.yml b/.github/workflows/arch.x86_64.yml index 1b41fe0..7e74cbf 100644 --- a/.github/workflows/arch.x86_64.yml +++ b/.github/workflows/arch.x86_64.yml @@ -10,7 +10,7 @@ jobs: steps: - uses: actions/checkout@v4 - - run: build-aux/ci-test + - run: build-aux/ci-test plain test_asan: runs-on: ubuntu-latest @@ -20,4 +20,4 @@ jobs: steps: - uses: actions/checkout@v4 - - run: build-aux/ci-test-asan + - run: build-aux/ci-test asan diff --git a/build-aux/ci-test b/build-aux/ci-test index 6ccd106..e3f89ef 100755 --- a/build-aux/ci-test +++ b/build-aux/ci-test @@ -1,16 +1,71 @@ #!/bin/bash -le +debug() { + echo "::debug::$*" +} + +error() { + echo "::error::$*" +} + +fatal() { + error "$*" + exit 1 +} + +group() { + echo "::group::$*" +} + +endgroup() { + echo "::endgroup::" +} + +debug "Running with buildmode=$buildmode" + +group 'setup' + +buildmode=$1 +setup_flags=() +builddir=build-$buildmode +test_install=0 + +case $buildmode in + plain) + test_install=1 + ;; + asan) + setup_flags=('-Db_sanitize=address') + ;; + *) + fatal "unknown build mode $buildmode" + ;; +esac + pacman -Syu --noconfirm base-devel git gmock gtest python meson perl # Needed to ensure PATH is properly set for perl, etc. source /etc/profile +endgroup + # build -meson setup build --prefix=/usr --buildtype=debugoptimized -meson compile -C build +group 'build' +meson setup "$builddir" \ + --prefix=/usr \ + --buildtype=debugoptimized \ + "${setup_flags[@]}" +meson compile -C "$builddir" +endgroup # test -meson test -C build +group 'test' +meson test -C "$builddir" +endgroup -# package -meson install -C build +# install +if (( test_install )); then + group 'install' + meson install -C "$builddir" + endgroup +fi