CI updates

This commit is contained in:
Markus F.X.J. Oberhumer
2023-08-22 11:12:48 +02:00
parent 6eace187e7
commit 7636abc158
8 changed files with 18 additions and 17 deletions
+2 -2
View File
@@ -12,8 +12,8 @@ env:
CMAKE_REQUIRED_QUIET: OFF CMAKE_REQUIRED_QUIET: OFF
DEBIAN_FRONTEND: noninteractive DEBIAN_FRONTEND: noninteractive
UPX_CMAKE_BUILD_FLAGS: --verbose UPX_CMAKE_BUILD_FLAGS: --verbose
# 2023-08-20 # 2023-08-22
ZIG_DIST_VERSION: 0.12.0-dev.146+020105d0d ZIG_DIST_VERSION: 0.12.0-dev.157+8e96be008
jobs: jobs:
job-rebuild-and-verify-stubs: job-rebuild-and-verify-stubs:
+1 -1
View File
@@ -1,5 +1,5 @@
# Copyright (C) Markus Franz Xaver Johannes Oberhumer # 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' name: 'Weekly CI BS - By Hand'
on: on:
@@ -1,5 +1,5 @@
# Copyright (C) Markus Franz Xaver Johannes Oberhumer # 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' name: 'Weekly CI BS - cmake macOS Xcode'
on: on:
@@ -1,5 +1,5 @@
# Copyright (C) Markus Franz Xaver Johannes Oberhumer # 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" # also tests "clang-cl"
@@ -1,5 +1,5 @@
# Copyright (C) Markus Franz Xaver Johannes Oberhumer # 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 # Build under various Alpine Linux versions with clang and gcc, and
# also test building with C++20 and C++23. # 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 # 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 # 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: on:
schedule: [cron: '00 2 * * 3'] # run weekly Wednesday 02:00 UTC schedule: [cron: '00 2 * * 3'] # run weekly Wednesday 02:00 UTC
workflow_dispatch: 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 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: 'Strip release binaries', run: 'strip -p --strip-unneeded "upx with space"/build/*/*/release/upx' }
- name: ${{ format('Upload artifact {0}', env.artifact_name) }} - name: ${{ format('Upload artifact {0}', env.artifact_name) }}
if: ${{ !startsWith(matrix.container, 'i386/') }} # i386: missing nodejs on host if: ${{ !startsWith(matrix.container, 'i386/') }} # i386: missing nodejs on host
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@@ -147,12 +148,12 @@ jobs:
# test suite # test suite
- name: ${{ format('Run test suite level {0}', env.UPX_TESTSUITE_LEVEL) }} - name: ${{ format('Run test suite level {0}', env.UPX_TESTSUITE_LEVEL) }}
run: | 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 # 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" git clone --depth=1 https://github.com/upx/upx-testsuite "upx-testsuite with space"
export upx_testsuite_SRCDIR="$(readlink -fn "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_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") (cd "upx with space"/build/xtarget/gcc-static/release && upx_exe=./upx bash "$testsuite_1")
# vim:set ts=2 sw=2 et: # vim:set ts=2 sw=2 et:
@@ -1,5 +1,5 @@
# Copyright (C) Markus Franz Xaver Johannes Oberhumer # Copyright (C) Markus Franz Xaver Johannes Oberhumer
# CompilationCheck: test llvm-mingw # CC CompilationCheck: test llvm-mingw
# see https://github.com/mstorsjo/llvm-mingw # see https://github.com/mstorsjo/llvm-mingw
+3 -3
View File
@@ -1,5 +1,5 @@
# Copyright (C) Markus Franz Xaver Johannes Oberhumer # Copyright (C) Markus Franz Xaver Johannes Oberhumer
# CompilationCheck: test zigcc # CC CompilationCheck: test zigcc
# build with "zig cc"; see https://ziglang.org/download/ # build with "zig cc"; see https://ziglang.org/download/
@@ -10,8 +10,8 @@ on:
env: env:
CMAKE_REQUIRED_QUIET: OFF CMAKE_REQUIRED_QUIET: OFF
DEBIAN_FRONTEND: noninteractive DEBIAN_FRONTEND: noninteractive
# 2023-08-20 # 2023-08-22
ZIG_DIST_VERSION: 0.12.0-dev.146+020105d0d ZIG_DIST_VERSION: 0.12.0-dev.157+8e96be008
jobs: jobs:
job-linux-zigcc: # uses cmake + make job-linux-zigcc: # uses cmake + make
+4 -4
View File
@@ -1,5 +1,5 @@
# Copyright (C) Markus Franz Xaver Johannes Oberhumer # Copyright (C) Markus Franz Xaver Johannes Oberhumer
# RunTime test # RT RunTime checks
# runs ASAN, MSAN, qemu and valgrind checkers; slow! # runs ASAN, MSAN, qemu and valgrind checkers; slow!
@@ -58,7 +58,7 @@ jobs:
export CC="clang $flags" CXX="clang++ $flags" export CC="clang $flags" CXX="clang++ $flags"
make UPX_XTARGET=clang-asan xtarget/$release make UPX_XTARGET=clang-asan xtarget/$release
- name: 'Build clang-msan' - name: 'Build clang-msan'
if: ${{ !startsWith(matrix.container, 'i386/') }} # MSAN i386: not supported if: ${{ !startsWith(matrix.container, 'i386/') }} # i386: MSAN not supported
run: | run: |
# unfortunately MSAN does not support static linking # unfortunately MSAN does not support static linking
flags="-fsanitize=memory -fsanitize=undefined -fno-omit-frame-pointer -D__SANITIZE_ADDRESS__=1 -DDOCTEST_CONFIG_DISABLE=1" 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 if: ${{ true }} # very slow
run: | run: |
export upx_exe_runner="valgrind --error-exitcode=1 --quiet" export upx_exe_runner="valgrind --error-exitcode=1 --quiet"
# on current GitHub CI, takes about 30 minutes for release and 80 mins for debug # on current GitHub CI, takes about 30 minutes for release and 80 minutes for debug builds
# reduce time for debug builds # reduce time for debug builds to about 30 minutes
test $release = debug && export UPX_TESTSUITE_LEVEL=4 test $release = debug && export UPX_TESTSUITE_LEVEL=4
env -C build/xtarget/clang-static/$release "$PWD"/misc/testsuite/upx_testsuite_1.sh env -C build/xtarget/clang-static/$release "$PWD"/misc/testsuite/upx_testsuite_1.sh