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

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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"

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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