ci: modernize GitHub Actions — remove bots, SHA-pin, add zd test#341
ci: modernize GitHub Actions — remove bots, SHA-pin, add zd test#341ss-o wants to merge 22 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR primarily modernizes the repository’s GitHub Actions setup (removing bot workflows, SHA-pinning actions, and adding a reusable zd test workflow), and also updates contribution/governance docs and several Zi runtime behaviors in the Zsh codebase (self-update, module build flow, completion handling, and version reporting).
Changes:
- CI: remove obsolete workflows, SHA-pin key actions, extend Trunk checks to
next, and addzdintegration + commit/branch linting. - Project hygiene: add Copilot instructions, expand CONTRIBUTING/PR template, and ignore AI-assistant config files.
- Zi runtime: add version detection/subcommand, refactor module build/reset logic, and adjust completion/self-update/reload behavior.
Reviewed changes
Copilot reviewed 23 out of 24 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
zi.zsh |
Adds version detection/subcommand and refactors option/help paths; other runtime behavior adjustments. |
lib/zsh/side.zsh |
Minor fixes + removes .zi-check-module in favor of updated module flow. |
lib/zsh/rpm2cpio.zsh |
Tightens variable scoping (sigsize becomes local). |
lib/zsh/install.zsh |
Updates completion install/compinit behavior and option naming. |
lib/zsh/git-process-output.zsh |
Tweaks progress output formatting and color handling. |
lib/zsh/autoload.zsh |
Major changes: auto-reload, self-update flow, module build logic, messaging, and timing output. |
lib/_zi |
Updates completion definitions (adds version command). |
docs/README.md |
HTML/layout updates for badges/header. |
docs/CONTRIBUTING.md |
Replaces stub with detailed branch/commit guidelines. |
.gitignore |
Ignores AI-assistant config files. |
.github/workflows/zunit.yml |
Removes obsolete ZUnit workflow. |
.github/workflows/zsh-n.yml |
SHA-pins actions/checkout and adds contents: read permissions. |
.github/workflows/zd-integration.yml |
Adds reusable workflow call into z-shell/zd for native tests. |
.github/workflows/trunk-check.yml |
SHA-pins checkout and runs on main + next. |
.github/workflows/stale.yml |
Removes stale-bot workflow. |
.github/workflows/rebase.yml |
Removes rebase-bot workflow. |
.github/workflows/pr-labels.yml |
Removes PR label verification bot workflow. |
.github/workflows/lock.yml |
Removes lock-threads bot workflow. |
.github/workflows/labeler.yml |
SHA-pins actions/labeler@v5. |
.github/workflows/commit-lint.yml |
Adds commit/PR-title/branch-name lint workflow. |
.github/labeler.yml |
Migrates labeler config to changed-files format. |
.github/dependabot.yml |
Switches to weekly schedule and sets target branch. |
.github/copilot-instructions.md |
Adds repo-specific Copilot contribution guidelines. |
.github/PULL_REQUEST_TEMPLATE.md |
Updates PR template to align with new contribution rules. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Salvydas Lukosius <ss-o@users.noreply.github.com>
Signed-off-by: Salvydas Lukosius <ss-o@users.noreply.github.com>
- Add .github/copilot-instructions.md with commit format rules, branch model documentation, and prohibition on AI co-author trailers or AI config files (AGENTS.md, CLAUDE.md, GEMINI.md, .cursorrules…) - Add .github/workflows/commit-lint.yml: PR workflow that validates conventional commit subject format, blocks AI co-author trailers, checks PR title format, and enforces branch naming convention - Update .github/workflows/trunk-check.yml: run Trunk on next branch in addition to main to catch issues before integration - Update .github/PULL_REQUEST_TEMPLATE.md: document the branch model (branch from next, PR to next, next→main for releases) and add checklist items for commit hygiene - Update docs/CONTRIBUTING.md: full branch model diagram, commit message guide, and explicit list of files not to add to the repo - Update .gitignore: add AI assistant config file patterns
Removes five workflows no longer needed: - rebase.yml: autorebase bot (superseded by merge queues) - stale.yml: automated stale-issue closer (policy changed) - pr-labels.yml: label verification bot (replaced by labeler.yml) - lock.yml: issue/PR locking bot (no longer used) - zunit.yml: Docker-based test workflow (superseded by zd-integration.yml)
- autoload.zsh: use loop variable rm_file (was rm_compiled) in zi-auto-reload - autoload.zsh: drop --autostash from git merge (not a valid option) - autoload.zsh: capture pipestatus[1] from make|tee; drop redundant second make - autoload.zsh: make cp explicit (zpmod.so → zpmod.bundle, no brace expansion) - autoload.zsh: guard --reset recompile message with RECOMPILE_REQUEST existence - docs/README.md: fix thref → href on VIM badge; fix </p></a> → </a></p> - zi.zsh: remove duplicate 'version' entry from ZI[cmd-list] - zi.zsh: fix spelling 'noticable' → 'noticeable' and grammar in zicompinit_fast comment
703a5d7 to
8b01418
Compare
Replace the single wildcard rule with a tiered ownership model: - Default catch-all: @ss-o for day-to-day reviews - Core Zsh runtime (zi.zsh, lib/): @z-shell/tsc sign-off required - CI/workflows and docs: @ss-o only — no TSC overhead - CODEOWNERS itself: @z-shell/tsc to prevent unauthorized rewrites Rules are ordered broadest-to-most-specific so the last matching rule wins, following GitHub's documented evaluation semantics.
38b8b01 to
d24f125
Compare
|
Superseded by #344 which splits this into two focused PRs: CI/governance changes here, and core runtime fixes (autoload.zsh, zi.zsh) in a separate upcoming PR. This makes each change reviewable independently and keeps core runtime changes out of a CI-only merge. |
|
Pull Request closed and locked due to lack of activity. |
Summary
Modernize the active repository-maintenance surface and align it with current Z-Shell conventions.
Included
nextzdintegration, and workflow concurrency guardsVerification
Notes
This branch is broader than a workflow-only cleanup and still has review feedback to resolve before merge.