Skip to content

ci: release-plz with binary builds; fix red main - #10

Merged
scbrown merged 6 commits into
mainfrom
hammond/release-plz
Sep 26, 2026
Merged

scbrown merged 6 commits into
mainfrom
hammond/release-plz

Conversation

@scbrown

@scbrown scbrown commented Sep 26, 2026

Copy link
Copy Markdown
Owner
  • release-plz.yml: release PR on every push to main; on merge it tags
    v, creates the GitHub release, then calls release.yml (6-target
    binaries + .deb + SHA256SUMS) and crates.yml from the same run, since a
    GITHUB_TOKEN tag cannot trigger the tag/release workflows.
  • cliff.toml: conventional-commit changelog, internal ticket ids scrubbed.
  • clippy (rust 1.97): sort_by_key, checked_div, collapsed match guard.
  • fix: pxl install treated every path dependency as stale when the
    project path contained a symlink (macOS /var); compare canonical paths.
  • browser-tests: drop the npm cache keyed on a lockfile that does not exist.
  • python: macos-13 runners are retired; use macos-15-intel.
  • README: crates badge pointed at an unrelated pxl crate; dead
    pixelsrc.dev link; Homebrew tap instruction pointed at a repo that does
    not exist; add cargo install pixelsrc.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ

- release-plz.yml: release PR on every push to main; on merge it tags
  v<version>, creates the GitHub release, then calls release.yml (6-target
  binaries + .deb + SHA256SUMS) and crates.yml from the same run, since a
  GITHUB_TOKEN tag cannot trigger the tag/release workflows.
- cliff.toml: conventional-commit changelog, internal ticket ids scrubbed.
- clippy (rust 1.97): sort_by_key, checked_div, collapsed match guard.
- fix: `pxl install` treated every path dependency as stale when the
  project path contained a symlink (macOS /var); compare canonical paths.
- browser-tests: drop the npm cache keyed on a lockfile that does not exist.
- python: macos-13 runners are retired; use macos-15-intel.
- README: crates badge pointed at an unrelated `pxl` crate; dead
  pixelsrc.dev link; Homebrew tap instruction pointed at a repo that does
  not exist; add `cargo install pixelsrc`.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
scbrown and others added 5 commits September 25, 2026 22:51
…oke wheel builds

.cargo/config.toml forced x86_64-linux-gnu-gcc for the native Linux
target, which does not exist in the manylinux container maturin builds
in (and is just gcc on a plain x86_64 host).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
- drop .cargo/config.toml: its linker overrides (x86_64-linux-gnu-gcc,
  aarch64-linux-gnu-gcc) do not exist in maturin's manylinux containers,
  and cross sets its own linker anyway; the macOS entries were defaults.
- wheels: pyo3 0.23 rejects the 3.14 interpreter that --find-interpreter
  now finds; build it against the stable ABI.
- browser tests: npx serve was still downloading when the 3s wait ended
  (ERR_EMPTY_RESPONSE); serve the book with python3 -m http.server.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
The formula lived in homebrew-pixelsrc/ inside this repo, which brew
cannot tap, and the README pointed at scbrown/tap, which never existed.
The tap is now its own repo (seeded with 0.2.0, verified with brew
install + brew test). homebrew.yml checks it out with a write deploy key
and pushes the regenerated formula; release-plz.yml calls it after the
binaries are attached.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
…rpreters

With [output.linkcheck] configured, mdBook writes the site to book/html/,
so the tests were loading a bare directory listing. The aarch64
manylinux-cross container has no default interpreter, so maturin needs
--find-interpreter like the macOS and Windows jobs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
…es green

- wasm-demo.js probed dynamic import with `typeof import`, a SyntaxError
  that aborted the whole script, so window.pixelsrcDemo was never defined
  and every interactive example in the book was dead.
- browser test: open mdBook search before asserting the bar is visible.
- Linux wheels: the pyo3 forward-compat env var does not reach the
  manylinux container; list the supported interpreters explicitly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXBCFZMofE9EGKzo8J2YKJ
@scbrown
scbrown merged commit e8e590e into main Sep 26, 2026
19 checks passed
@scbrown
scbrown deleted the hammond/release-plz branch September 26, 2026 04:47
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