CI updates
This commit is contained in:
@@ -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,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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user