Skip to content

Modernize zunit organization integration#1

Merged
ss-o merged 6 commits into
mainfrom
codex/org-fit-review
May 16, 2026
Merged

Modernize zunit organization integration#1
ss-o merged 6 commits into
mainfrom
codex/org-fit-review

Conversation

@ss-o
Copy link
Copy Markdown
Member

@ss-o ss-o commented May 16, 2026

Summary

  • add GitHub Actions coverage for native tests, syntax checks, and scheduled Zsh compatibility runs
  • align user-facing behavior with current ecosystem usage, including dependency guidance, zunit init --github-actions, and safer HTML reports
  • add regression coverage for CLI compatibility and report escaping while adopting Z-Shell modelines across Zsh sources

Test Plan

  • ./build.zsh >/dev/null && PATH="/tmp/zunit-fake-bin:$PATH" ./zunit --tap tests
  • find src -type f -name '*.zsh' -print | sort | while read -r file; do zsh -n "$file" || exit 1; done; zsh -n build.zsh; zsh -n zunit.zsh-completion
  • git diff --check

Notes

  • this keeps existing zdharma/* package coordinates where the surrounding ecosystem still uses them, rather than making an implicit namespace migration
  • --travis remains available as a legacy bootstrap path; --github-actions is the new current example

@ss-o ss-o marked this pull request as ready for review May 16, 2026 05:47
Copilot AI review requested due to automatic review settings May 16, 2026 05:47
@ss-o ss-o self-assigned this May 16, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Modernizes the ZUnit project's CI/integration story for the Z-Shell organization mirror. It adds GitHub Actions workflows (native run, syntax check, scheduled multi-Zsh matrix), introduces a zunit init --github-actions bootstrap path, escapes test names/messages in the HTML reporter, defers the revolver dependency check so --help/--version work without it, fixes several "Supress" → "Suppress" typos and a zulu initzunit init mistake, and adds Z-Shell-style modelines to all Zsh sources.

Changes:

  • New CI: test-native.yml, zsh-n.yml, and a scheduled test-matrix.yml building Zsh from source in Alpine.
  • zunit init --github-actions generator, completion entry, README walkthrough, and regression tests in tests/cli.zunit and tests/reports.zunit.
  • HTML report escaping via a new _zunit_html_escape, deferred revolver check, dependency URL switch to zdharma/*, and assorted typo/comment fixes.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
.github/workflows/test-native.yml New native-Zsh test workflow used by the README badge.
.github/workflows/zsh-n.yml New zsh -n syntax check workflow over src, build.zsh, and the completion file.
.github/workflows/test-matrix.yml New scheduled matrix building Zsh 5.5.1–5.9 in Alpine via Docker.
README.md Replaces Travis badge, adds Maintenance section, switches install URLs to zdharma/*, documents zunit init --github-actions.
build.zsh Adds Z-Shell modeline header.
src/zunit.zsh Adds modeline; defers revolver check so --help/--version work; fixes "Supress" typo; updates revolver URL.
src/commands/init.zsh Adds modeline, parses -g/--github-actions, embeds workflow template, switches dependency URLs to zdharma/*.
src/commands/run.zsh Adds modeline; fixes typo and zulu initzunit init.
src/reports/html.zsh Adds modeline and _zunit_html_escape; escapes $name/$message in all renderers.
src/reports/tap.zsh, src/helpers.zsh, src/events.zsh, src/assertions.zsh Modeline-only additions.
tests/_support/script-with-{global,local}-variable.zsh Modeline-only additions to fixture scripts.
tests/cli.zunit New CLI regression suite for help/version, missing-revolver messaging, init flags, GitHub Actions generator.
tests/reports.zunit New regression test for HTML escaping in _zunit_html_failure.
zunit.zsh-completion Adds --github-actions completion entry; fixes "supress" typo.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/zunit.zsh
Comment thread tests/cli.zunit Outdated
Comment thread tests/reports.zunit Outdated
Comment thread .github/workflows/test-matrix.yml Outdated
Comment thread src/reports/html.zsh
Comment thread README.md
Comment thread tests/cli.zunit Outdated
ss-o and others added 3 commits May 16, 2026 06:52
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sall <59910950+ss-o@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sall <59910950+ss-o@users.noreply.github.com>
@ss-o
Copy link
Copy Markdown
Member Author

ss-o commented May 16, 2026

@copilot apply changes based on the comments in this thread

Copy link
Copy Markdown

Copilot AI commented May 16, 2026

@copilot apply changes based on the comments in this thread

Applied all changes from the unresolved threads in commit 92b3461:

  • src/reports/html.zsh: Changed echo "$value" to print -r -- "$value" in _zunit_html_escape so values starting with - or containing backslash escapes are handled correctly, and trailing newlines from command substitution are no longer silently dropped.
  • .github/workflows/test-matrix.yml: Pinned the base image from alpine:edge to alpine:3.20 for a stable build environment, and added --retry 3 --retry-delay 5 to the SourceForge curl call to handle rate-limiting and transient redirects.
  • README.md: Added a callout note directly below the intro paragraph explaining that the zdharma/* coordinates in install snippets are intentional — they reflect the package names still used by zplug/Homebrew at runtime — while z-shell/zunit is the active development mirror.

Copilot finished work on behalf of ss-o May 16, 2026 06:06
Copilot finished work on behalf of ss-o May 16, 2026 06:19
@ss-o ss-o merged commit 2648b90 into main May 16, 2026
3 checks passed
@ss-o ss-o deleted the codex/org-fit-review branch May 16, 2026 06:19
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.

3 participants