Skip to content

Commit f31d879

Browse files
committed
[ci] stage BoringSSL for the site build
With liburing installed the site build got past linking and then failed rendering: [kyo-net native-guard] library 'kyonet_boringssl' is a STUB in kyo-net.state: a stub must not ship in a native classifier jar. Without a staged BoringSSL tree, build.sbt compiles the c-boringssl-stub shim. kyo-net wires kyoNetNativeClassifierGuard into Compile/packageBin (build.sbt), and the site render reaches kyo-net's packageBin through kyo-http, so the guard runs and rejects the stub even though this workflow publishes nothing. Stages the vendored BoringSSL the way .github/actions/release-setup already does. The previous commit's claim that a stub is enough for a docs render was wrong: it holds for readme.yml, which runs doctest and never packages kyo-net.
1 parent 93cf331 commit f31d879

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

.github/workflows/deploy-site.yml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,23 @@ jobs:
4040
with:
4141
jvm: corretto:25
4242
apps: sbt
43-
# liburing (build-time only): the site bundle reaches kyo-net through kyo-http, and linking it
44-
# compiles kyo-net's io_uring FFI shim (kyo_uring.c), which statically links -luring. This
45-
# workflow does not use .github/actions/setup, so install it here too, as readme.yml does.
46-
# BoringSSL is not staged: build.sbt falls back to the c-boringssl-stub shim, which is all a
47-
# docs render needs.
43+
# The site reaches kyo-net through kyo-http, so rendering it compiles kyo-net's C shims. This
44+
# workflow does not use .github/actions/setup, so the native build deps are installed here, as
45+
# readme.yml does for the same reason.
46+
#
47+
# liburing (build-time only): the io_uring shim (kyo_uring.c) statically links -luring.
4848
- name: Install liburing (Linux)
4949
run: bash scripts/apt-install.sh liburing-dev
50+
# BoringSSL has to be staged, not stubbed. Without the staged tree build.sbt compiles the
51+
# c-boringssl-stub shim, and kyo-net's `Compile / packageBin` runs kyoNetNativeClassifierGuard
52+
# (build.sbt), which fails on a stub. The site render needs kyo-net's packageBin, so it trips
53+
# the guard even though it publishes nothing.
54+
- name: Prepare BoringSSL
55+
shell: bash
56+
run: |
57+
command -v cmake >/dev/null 2>&1 || bash scripts/apt-install.sh cmake
58+
command -v go >/dev/null 2>&1 || bash scripts/apt-install.sh golang-go
59+
bash kyo-net/build/boringssl/build-boringssl.sh linux-x86_64
5060
- name: Link the browser bundle (fullLinkJS)
5161
run: sbt 'kyo-website-bundleJS/Compile/fullLinkJS'
5262
- name: Render and assemble the site from the current repo

0 commit comments

Comments
 (0)