Hopefully fix CI

I believe the issue was that if you switch between build types then you
end up with an incorrect golibs version. This happens in CI (we first
build ubuntu, then alpine). The whole reason for golibs was that we
always want a release build, but with a little more bash-faff we can
avoid this and just build the correct thing (for example if you are
building 'ubuntusanitized' you want golibs built with 'ubuntu' and so
on).

This still won't work if you are concurrently trying to do different
builds in the same directory, but just don't do that,  m'kay?
This commit is contained in:
Joshua Leahy
2026-02-25 17:48:45 +00:00
parent db4b589449
commit 25b7477d80
+9 -4
View File
@@ -64,10 +64,15 @@ fi
out_dir=build/$build_variant
mkdir -p $out_dir
# build C libs we need for go
${PWD}/cpp/build.py golibs --cmake-build-type=release $static_flag rs crc32c
cp cpp/build/golibs/crc32c/libcrc32c.a go/core/crc32c/
cp cpp/build/golibs/rs/librs.a go/core/rs/
# build C libs we need for go (always as a release build)
case $build_variant in
ubuntu*) golibs_variant=ubuntu ;;
alpine*) golibs_variant=alpine ;;
*) golibs_variant=release ;;
esac
${PWD}/cpp/build.py $golibs_variant --cmake-build-type=release $static_flag rs crc32c
cp cpp/build/$golibs_variant/crc32c/libcrc32c.a go/core/crc32c/
cp cpp/build/$golibs_variant/rs/librs.a go/core/rs/
${PWD}/go/build.py --generate # generate C++ files