From 7636abc1588ee64a27ad6f3bede372159ed14a88 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Tue, 22 Aug 2023 11:12:48 +0200 Subject: [PATCH] CI updates --- .github/workflows/ci.yml | 4 ++-- .github/workflows/weekly-ci-bs-by-hand.yml | 2 +- .github/workflows/weekly-ci-bs-cmake-macos-xcode.yml | 2 +- .github/workflows/weekly-ci-bs-cmake-windows-nmake.yml | 2 +- .github/workflows/weekly-ci-cc-alpine-linux.yml | 9 +++++---- .github/workflows/weekly-ci-cc-llvm-mingw.yml | 2 +- .github/workflows/weekly-ci-cc-zigcc.yml | 6 +++--- .github/workflows/weekly-ci-rt-checkers.yml | 8 ++++---- 8 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 58a2524d..02f54183 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,8 +12,8 @@ env: CMAKE_REQUIRED_QUIET: OFF DEBIAN_FRONTEND: noninteractive UPX_CMAKE_BUILD_FLAGS: --verbose - # 2023-08-20 - ZIG_DIST_VERSION: 0.12.0-dev.146+020105d0d + # 2023-08-22 + ZIG_DIST_VERSION: 0.12.0-dev.157+8e96be008 jobs: job-rebuild-and-verify-stubs: diff --git a/.github/workflows/weekly-ci-bs-by-hand.yml b/.github/workflows/weekly-ci-bs-by-hand.yml index d1b7ae95..652ecc6d 100644 --- a/.github/workflows/weekly-ci-bs-by-hand.yml +++ b/.github/workflows/weekly-ci-bs-by-hand.yml @@ -1,5 +1,5 @@ # Copyright (C) Markus Franz Xaver Johannes Oberhumer -# BuildSystem: build "by hand" using a POSIX-compliant shell +# BS BuildSystem: build "by hand" using a POSIX-compliant shell name: 'Weekly CI BS - By Hand' on: diff --git a/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml b/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml index fef65a28..921517b3 100644 --- a/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml +++ b/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml @@ -1,5 +1,5 @@ # Copyright (C) Markus Franz Xaver Johannes Oberhumer -# BuildSystem: build with 'cmake -G Xcode' +# BS BuildSystem: build with 'cmake -G Xcode' name: 'Weekly CI BS - cmake macOS Xcode' on: diff --git a/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml b/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml index f26825a3..f7e13ea7 100644 --- a/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml +++ b/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml @@ -1,5 +1,5 @@ # Copyright (C) Markus Franz Xaver Johannes Oberhumer -# BuildSystem: build with 'cmake -G "NMake Makefiles"' +# BS BuildSystem: build with 'cmake -G "NMake Makefiles"' # also tests "clang-cl" diff --git a/.github/workflows/weekly-ci-cc-alpine-linux.yml b/.github/workflows/weekly-ci-cc-alpine-linux.yml index 8467f89c..fa853550 100644 --- a/.github/workflows/weekly-ci-cc-alpine-linux.yml +++ b/.github/workflows/weekly-ci-cc-alpine-linux.yml @@ -1,5 +1,5 @@ # Copyright (C) Markus Franz Xaver Johannes Oberhumer -# CompilationCheck: test various clang and gcc versions +# CC CompilationCheck: test various clang and gcc versions # Build under various Alpine Linux versions with clang and gcc, and # also test building with C++20 and C++23. @@ -10,7 +10,7 @@ # info: Alpine Linux 3.9 (released Jan 2019) has clang-5, cmake-3.13.0 # and gcc-8, which nicely matches our minimal build requirements -name: 'Weekly CI CC - Alpine Linux' +name: 'Weekly CI CC - Alpine Linux C++23' on: schedule: [cron: '00 2 * * 3'] # run weekly Wednesday 02:00 UTC workflow_dispatch: @@ -115,6 +115,7 @@ jobs: make -C "upx with space" UPX_XTARGET=gcc-cxxlto-static CC="gcc -flto=auto -static" CXX="g++ -flto=auto -static" xtarget/debug - { name: 'Strip release binaries', run: 'strip -p --strip-unneeded "upx with space"/build/*/*/release/upx' } + - name: ${{ format('Upload artifact {0}', env.artifact_name) }} if: ${{ !startsWith(matrix.container, 'i386/') }} # i386: missing nodejs on host uses: actions/upload-artifact@v3 @@ -147,12 +148,12 @@ jobs: # test suite - name: ${{ format('Run test suite level {0}', env.UPX_TESTSUITE_LEVEL) }} run: | + # testsuite needs bash and working "readlink -en" and "sha256sum -b" + apk add bash coreutils # use a directory that contains whitespace to detect possible quoting issues git clone --depth=1 https://github.com/upx/upx-testsuite "upx-testsuite with space" export upx_testsuite_SRCDIR="$(readlink -fn "upx-testsuite with space")" testsuite_1="$(readlink -fn "upx with space"/misc/testsuite/upx_testsuite_1.sh)" - # testsuite needs bash and working "readlink -en" and "sha256sum -b" - apk add bash coreutils (cd "upx with space"/build/xtarget/gcc-static/release && upx_exe=./upx bash "$testsuite_1") # vim:set ts=2 sw=2 et: diff --git a/.github/workflows/weekly-ci-cc-llvm-mingw.yml b/.github/workflows/weekly-ci-cc-llvm-mingw.yml index 6e9fee91..e3bfe832 100644 --- a/.github/workflows/weekly-ci-cc-llvm-mingw.yml +++ b/.github/workflows/weekly-ci-cc-llvm-mingw.yml @@ -1,5 +1,5 @@ # Copyright (C) Markus Franz Xaver Johannes Oberhumer -# CompilationCheck: test llvm-mingw +# CC CompilationCheck: test llvm-mingw # see https://github.com/mstorsjo/llvm-mingw diff --git a/.github/workflows/weekly-ci-cc-zigcc.yml b/.github/workflows/weekly-ci-cc-zigcc.yml index ce312bd7..85ba89cb 100644 --- a/.github/workflows/weekly-ci-cc-zigcc.yml +++ b/.github/workflows/weekly-ci-cc-zigcc.yml @@ -1,5 +1,5 @@ # Copyright (C) Markus Franz Xaver Johannes Oberhumer -# CompilationCheck: test zigcc +# CC CompilationCheck: test zigcc # build with "zig cc"; see https://ziglang.org/download/ @@ -10,8 +10,8 @@ on: env: CMAKE_REQUIRED_QUIET: OFF DEBIAN_FRONTEND: noninteractive - # 2023-08-20 - ZIG_DIST_VERSION: 0.12.0-dev.146+020105d0d + # 2023-08-22 + ZIG_DIST_VERSION: 0.12.0-dev.157+8e96be008 jobs: job-linux-zigcc: # uses cmake + make diff --git a/.github/workflows/weekly-ci-rt-checkers.yml b/.github/workflows/weekly-ci-rt-checkers.yml index af7159c5..b5b57002 100644 --- a/.github/workflows/weekly-ci-rt-checkers.yml +++ b/.github/workflows/weekly-ci-rt-checkers.yml @@ -1,5 +1,5 @@ # Copyright (C) Markus Franz Xaver Johannes Oberhumer -# RunTime test +# RT RunTime checks # runs ASAN, MSAN, qemu and valgrind checkers; slow! @@ -58,7 +58,7 @@ jobs: export CC="clang $flags" CXX="clang++ $flags" make UPX_XTARGET=clang-asan xtarget/$release - name: 'Build clang-msan' - if: ${{ !startsWith(matrix.container, 'i386/') }} # MSAN i386: not supported + if: ${{ !startsWith(matrix.container, 'i386/') }} # i386: MSAN not supported run: | # unfortunately MSAN does not support static linking flags="-fsanitize=memory -fsanitize=undefined -fno-omit-frame-pointer -D__SANITIZE_ADDRESS__=1 -DDOCTEST_CONFIG_DISABLE=1" @@ -96,7 +96,7 @@ jobs: if: ${{ true }} # very slow run: | export upx_exe_runner="valgrind --error-exitcode=1 --quiet" - # on current GitHub CI, takes about 30 minutes for release and 80 mins for debug - # reduce time for debug builds + # on current GitHub CI, takes about 30 minutes for release and 80 minutes for debug builds + # reduce time for debug builds to about 30 minutes test $release = debug && export UPX_TESTSUITE_LEVEL=4 env -C build/xtarget/clang-static/$release "$PWD"/misc/testsuite/upx_testsuite_1.sh