Skip to content

CI: fix outdated Node.js warnings, clean up Windows and Go setup - #529

Open
Lekensteyn wants to merge 3 commits into
masterfrom
pwu/ci-cleanup
Open

Lekensteyn wants to merge 3 commits into
masterfrom
pwu/ci-cleanup

Conversation

@Lekensteyn

Copy link
Copy Markdown
Collaborator
  • ci: use latest GitHub Actions versions to fix Node.js 20 warnings

  • ci: use newer clang version on Windows, fix Test job name

    • bindgen relies on clang-sys for parsing headers. Replace the old LLVM
      version in favor of LLVM 20 from windows-latest (windows-2025)..
    • Drop explicit installation of nasm, the build log suggests that Perl's
      C:/Strawberry/c/bin/nasm.exe version is being used anyway.
    • Add missing x86_64-msvc-static thing to ensure that the job shows as
      Test (x86_64-msvc-static) instead of its properties,
      Test (x86_64-msvc-static, x86_64-pc-windows-msvc, ...)
  • ci: update to Go 1.27, skip Go installation unless needed

    • Require Go 1.27 to match BoringSSL. Go is only needed to run BoringSSL
      tests or build with FIPS, remove it from other jobs.
    • Disable caching to silence a warning about missing go.sum.
    • Use latest setup-go action to upgrade from Node.js 20 to 24.

- bindgen relies on clang-sys for parsing headers. Replace the old LLVM
  version in favor of LLVM 20 from windows-latest (windows-2025)..
- Drop explicit installation of nasm, the build log suggests that Perl's
  `C:/Strawberry/c/bin/nasm.exe` version is being used anyway.
- Add missing `x86_64-msvc-static` thing to ensure that the job shows as
  `Test (x86_64-msvc-static)` instead of its properties,
  `Test (x86_64-msvc-static, x86_64-pc-windows-msvc, `...)
- Require Go 1.27 to match BoringSSL. Go is only needed to run BoringSSL
  tests or build with FIPS, remove it from other jobs.
- Disable caching to silence a warning about missing go.sum.
- Use latest setup-go action to upgrade from Node.js 20 to 24.
@Lekensteyn Lekensteyn self-assigned this Oct 8, 2026
@Lekensteyn

Copy link
Copy Markdown
Collaborator Author

Some unrelated CI failures with a similar root cause as #520 - too many unrelated symbols.

I am going to investigate using allowlist_file to fix this for good.

For reference, relevant build logs:

error: suspicious definition of the runtime `malloc` symbol used by the standard library
     --> /home/runner/work/boring/boring/target/debug/build/boring-sys-b6bcf3ced43db56c/out/bindings.rs:11328:5
      |
11328 |     pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      |
      = note: expected `unsafe extern "C" fn(usize) -> *mut c_void` (for the current target)
              found    `unsafe extern "C" fn(u64) -> *mut c_void`
      = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "malloc")]`, or `#[link_name = "malloc"]`
      = help: allow this lint if the signature is compatible
      = note: `-D suspicious-runtime-symbol-definitions` implied by `-D warnings`
      = help: to override `-D warnings` add `#[allow(suspicious_runtime_symbol_definitions)]`

error: suspicious definition of the runtime `realloc` symbol used by the standard library
     --> /home/runner/work/boring/boring/target/debug/build/boring-sys-b6bcf3ced43db56c/out/bindings.rs:11333:5
      |
11333 | /     pub fn realloc(
11334 | |         __ptr: *mut ::std::os::raw::c_void,
11335 | |         __size: ::std::os::raw::c_ulong,
11336 | |     ) -> *mut ::std::os::raw::c_void;
      | |_____________________________________^
      |
      = note: expected `unsafe extern "C" fn(*mut c_void, usize) -> *mut c_void` (for the current target)
              found    `unsafe extern "C" fn(*mut c_void, u64) -> *mut c_void`
      = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "realloc")]`, or `#[link_name = "realloc"]`
      = help: allow this lint if the signature is compatible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant