ReviewOS

mail-os/mail

Keep latest Zig 0.17-dev and canonical TLS dependency compiling

#7
Closed chris opened this 9 days ago ·
9 days ago

The current pinned Zig toolchain has removed legacy @backingInt / @fromBackingInt builtins and changed several Build APIs, so clean builds fail before mail changes can be validated.

Acceptance criteria:

  • update Build API calls for the pinned compiler
  • migrate enum conversion builtins in core and vendored Zig dependencies
  • retain full zig build test coverage
  • document the compatibility changes in the linked commit/PR

This was discovered while validating #4, #5, and #6.

9 days ago

Implemented in commit 90193a8 and tracked in draft PR #8.

The repo now pins the last zig-cli revision compatible with the project Zig 0.16 unmanaged-collection APIs instead of relying on ignored fetched-package edits. Verified with a forced clean dependency fetch, the full pantry test suite, and an x86_64-linux ReleaseFast build using the repo-pinned compiler.

9 days ago

Correction after maintainer feedback: Zig 0.16 is not the target. The project tracks the latest Zig 0.17-dev. I am reverting the incorrect 0.16 compatibility commit, restoring the Zig 0.17-era build/dependency APIs, updating every workflow to the current official master build (0.17.0-dev.1476+91a29d7), and will only merge after the 0.17 build, formatting, and tests pass.

9 days ago

Completed in merged PR #8. Final state: all workflows use official Zig 0.17.0-dev.1476+91a29d7; the incorrect 0.16 compatibility commit was reverted; mail now pins the canonical zig-utils/zig-tls revision from merged upstream PR zig-utils/zig-tls#8; the divergent vendored TLS snapshot was removed. Mail lint, coverage, Linux tests, macOS tests, ReleaseFast build, and Docker image all passed before merge.

Sign in to comment on this issue.