diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cdd79a93..34e59f20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -582,6 +582,26 @@ jobs: grep -q 'ok: a thread is started and joined' out.log grep -q 'ok: a detached thread runs and ends' out.log + # ⚠️ AND BUILT WITH --release, WHICH IS WHAT A USER SHIPS. Until + # openkal-macos 0.9.1 a release program faulted before `main' on macOS (a + # returned register declared an input), and until openkal-windows 0.7.1 its + # arguments were shortened on Windows (a loop became `wcslen'). The dev + # profile showed neither, so this step asks for the same observations of a + # release build. + - name: The same program built with --release runs on this host + run: | + set -euo pipefail + cd examples/cxx + rm -rf target + # `mcpp build --release' and not `mcpp run': the pinned build tool's + # `run' takes no profile. + mcpp build --release --target '${{ matrix.native }}' + exe=$(find target -type f -path '*/bin/*' \( -name 'openkal-cxx-example' -o -name 'openkal-cxx-example.exe' \) | head -1) + test -n "$exe" || { echo "::error::the release build produced no program"; exit 1; } + "$exe" 2>&1 | tee out.log || true + grep -q 'ok: a thread is started and joined' out.log + grep -q 'ok: a detached thread runs and ends' out.log + - name: The artefact for this host runs on it run: | set -euo pipefail diff --git a/mcpp.toml b/mcpp.toml index 46484521..10185390 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -1,7 +1,7 @@ [package] namespace = "mcpplibs" name = "openkal-llvm-runtime" -version = "0.9.4" +version = "0.9.5" description = "LLVM's C++ runtime libraries — libc++, libc++abi and libunwind — configured for openkal-musl rather than for a host C library." license = "Apache-2.0" authors = ["mcpplibs"] @@ -208,7 +208,7 @@ sources = [ cflags = ["-DDISABLE_AARCH64_FMV=1"] [dependencies] -openkal-musl = "0.13.3" +openkal-musl = "0.13.4" [build] cxx_standard = "c++23"