Skip to content

Add FreeBSD amd64 and arm64 builds and installation - #18

Merged
kjanat merged 6 commits into
masterfrom
feat/freebsd-builds
Sep 21, 2026
Merged

kjanat merged 6 commits into
masterfrom
feat/freebsd-builds

Conversation

@kjanat

@kjanat kjanat commented Sep 21, 2026

Copy link
Copy Markdown
Owner

FreeBSD installations currently fail because the installer rejects the OS and releases contain no matching binary. Add FreeBSD 13.5 VM builds and tests for amd64 and arm64, with both artifacts included in the existing release checksums and provenance attestations.

The installer now recognizes FreeBSD, supports its native fetch and sha256 tools, and fails when checksum verification is unavailable. Artifact checks validate the FreeBSD ELF ABI and architecture. Also updates the CI runner to v0.26.2 and preserves failures from the installed-version command.

Validation:

  • make test: 300 core tests, 18 round trips, and bash/zsh/fish completion checks passed locally.
  • node --test tests/action.test.mjs: all 24 tests passed.
  • /usr/bin/actionlint -shellcheck="/usr/bin/shellcheck -x -o all", formatting, shell syntax, and diff checks passed.
  • Six isolated installer cases covered download/checksum fallbacks and fatal failures.

The FreeBSD VM jobs have not yet run. Compatibility with the FreeBSD 13.1 jail remains to be verified.

Build and test FreeBSD 13.5 binaries for amd64 and arm64, and include
them in release checksums and provenance attestations.

Support native FreeBSD download and checksum tools in
the installer, fail when verification is unavailable, and
validate FreeBSD ELF architecture. Update the CI runner
and preserve version-command failures.
@kjanat kjanat added bug Something isn't working enhancement New feature or request portability Windows, macOS, BSD behavior build Makefile, CI, release artifacts tests Suite and harness reliability Correctness under real-world input; not losing or mangling data github-action Setup action for installing and verifying envctl in GitHub Actions labels Sep 21, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-21T18:17:18.711479Z b99c6f2 PR opened
🔒 Security Review ✅ Completed 2026-09-21T18:14:59.655553Z b99c6f2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kjanat kjanat self-assigned this Sep 21, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b99c6f2f8b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml
Comment thread install.sh
Use the requested reusable-workflow reference and isolate test builds
from the release version override. Update the VM configuration, Node
version, timeout, and artifact paths.
Run the installer with POSIX sh and let ShellCheck infer each script's
shell. Detect reversed environment insertion in the test launcher while
preserving exact fixture assertions.

Update the documented install command and formatter plugins.
Share the artifact name and path through YAML anchors so the upload step
no longer depends on environment variables scoped to the VM step.
Run the arm64 VM job on ubuntu-26.04-arm and the amd64 job on
ubuntu-26.04 instead of sharing an x86 runner.
Check build prerequisites before fetching the selected release tag.
Use a sparse Git checkout, or download the tag archive when Git is
unavailable, then compile and verify the installed version. Preserve
fatal checksum and attestation failures.

Support mingw32-make and avoid MSYS sparse-pattern conversion. Limit
FreeBSD CI to amd64 and make the artifact verifier executable.
@kjanat
kjanat merged commit 0667c4c into master Sep 21, 2026
12 checks passed
@kjanat
kjanat deleted the feat/freebsd-builds branch September 21, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working build Makefile, CI, release artifacts enhancement New feature or request github-action Setup action for installing and verifying envctl in GitHub Actions portability Windows, macOS, BSD behavior reliability Correctness under real-world input; not losing or mangling data tests Suite and harness

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant