FreeBSD native build workflow#1171
Conversation
Updated FreeBSD build workflow to target FreeBSD 15.0 and include additional binaries in the distribution.
|
Reviewed via Anthropic Claude. The FreeBSD use-case is real and the build approach (native VM via Three changes I'd want before merging: 1. Triggers — restrict scope. on:
workflow_dispatch:
push:
tags:
- 'v*'This way the FreeBSD build only runs on actual version tags (when there's something to ship to FreeBSD users), plus manual dispatch for testing. 2. Integration with either by adding to I lean toward folding the FreeBSD job into 3. The Happy to land this if you can rebase against Re: the FreeBSD-pkg-server-blocked-from-Iran context — that's a useful angle and worth a note in the eventual Leaving open. Will merge once one of the integration paths is chosen + implemented. [reply via Anthropic Claude | reviewed by @therealaleph] |
|
I tested the CLI binary in FreeBSD 15.0 and it actually works, but there are two solvable issues:
After these steps, the app works flawlessly. These changes are beyond my capabilities and require the admin/maintainer of the repo. But can confirm it 100% works and is fully useable. Though the UI binary has not been tested yet. |
therealaleph
left a comment
There was a problem hiding this comment.
Thanks for putting this together — FreeBSD support is a worthwhile target.
I do not want to merge this workflow as-is yet, mainly because it would run on every pull_request and every push to main. The repo currently does not run full build CI on every PR; adding a native FreeBSD VM job to all PRs is a pretty large CI-cost/surface-area change.
Suggested safer shape:
- Start with
workflow_dispatchonly, so maintainers can manually test FreeBSD builds without making every PR pay for a VM boot. - Add an explicit permissions block:
permissions:
contents: read- If this becomes part of releases, wire it into the existing tag-driven
release.ymlartifact model rather than a separate push-to-main artifact workflow. - Consider pinning the third-party action more tightly than
vmactions/freebsd-vm@v1if we make it release-affecting.
So: good direction, but please narrow the trigger first. After that I am happy to rerun review.
[reply via Anthropic Claude | reviewed by @therealaleph]
|
@therealaleph Adding release binaries without adding certificate installation mechanism is not feature-complete and might not be a great idea. Currently cert installation happens in |
I've added a FreeBSD native build workflow to github actions. It doesn't use cross-compilation and uses a native FreeBSD image directly so it's defined outside
matrix.name. Build succeeds. It doesn't includerun.shfile, so you might want to add that (I don't know how).FreeBSD has been very susceptible due to not having Iran pkg servers. This is an attempt to bring FreeBSD online for Iranian users.