Add FreeBSD remote_server CI job#56646
Conversation
|
The comment from @\maxdeviant above is happening because the Aside from this, please remove the crash handler stuff from this too, so this is easier to review on its own |
Thanks for the quick review! I'm still working on this PR. |
Add Platform::Freebsd variant and bundle_freebsd() function that cross-compiles remote_server on a Linux runner using cargo-zigbuild with a FreeBSD 15.0 sysroot.
|
@maxdeviant @MrSubidubi It seems my local machine had some weird configuration. I've re-generated the workflow files and they are correct now. |
|
Awesome! I'll take it from here and wait for Conrad to merge the other PR, but overall looks good so far. One comment: I think we might need to look into not making this a blocker for releases - while I sincerely appreciate your efforts here, this might put us in a spot where we error due to a change in the source and notice on relese day, but would be unable to fix this ourselves in a timely manner. Curious on your opinion on this, but that's a concern I currently have at least. |
|
Maybe we can set it continue-on-error or Nightly-only? |
|
I think continue-on-error might be a good start, we also do some release asset validation though where we should probably exclude it. Not entirely sure I get what you mean by "Nightly-only"? |
Summary
Add FreeBSD
remote_servercross-compilation to the CI pipeline. This extends the existing xtask workflow generation system with abundle_freebsd_x86_64job that runs on a Linux Ubuntu 20.04 runner and usescargo-zigbuildwith a FreeBSD 15.0 sysroot to producezed-remote-server-freebsd-x86_64.gz.This PR is a companion to #55388 which adds the source-level FreeBSD support. Together they enable building and shipping the FreeBSD remote server binary.
What changed
xtask (Rust source):
Platform::Freebsdvariant to thePlatformenumREMOTE_SERVER_FREEBSD_X86_64asset constant and updatedassets::all()Platform::Freebsdhandling insteps.rs(cargo config, sccache, etc.)bundle_freebsd()function inrun_bundling.rsthat:x86_64-unknown-freebsdRust targetziglangandcargo-zigbuildvia pipremote_serverwith appropriateCFLAGS/RUSTFLAGSReleaseBundleJobswithfreebsd_x86_64field in release and nightly workflowsCI workflows (auto-generated YAML):
cargo xtask workflowsrelease.yml,release_nightly.yml, andrun_bundling.ymlnow includebundle_freebsd_x86_64Self-Review Checklist:
Release Notes: