Skip to content

Latest commit

 

History

History
45 lines (35 loc) · 3.17 KB

CONTRIBUTING.md

File metadata and controls

45 lines (35 loc) · 3.17 KB

Contributing

Thanks for your interest. Contributions are welcome!

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Check the Issues to see if your topic has been discussed before or if it is being worked on. You may also want to check the roadmap (see above). Discussing in an Issue before opening a Pull Request means future contributors only have to search in one place.

This project includes a Git submodule. Passing --recurse-submodules when git cloneing is recommended.

This project loosely follows the Angular commit message conventions. This helps with searchability and with the changelog, which is generated automatically and touched up by hand only if necessary. Use the commit message format <type>(<scope>): <subject>, where <type> is feat for new or changed behavior, fix for fixes, docs for documentation, style for under the hood changes related to for example zshisms, refactor for other refactors, test for tests, or chore chore for general maintenance (this will be used primarily by maintainers not contributors, for example for version bumps). <scope> is more loosely defined. Look at the commit history for ideas.

The test suite uses zsh-test-runner. Run with test suite with

. ./tests/abbr.ztr

Maintainers

To cut a new release:

  1. Check out the main branch.
  2. Update all instances of the version number in zsh-abbr.zsh.
  3. Update all instances of the release date in zsh-abbr.zsh.
  4. Update all instances of the version number in man/man1/abbr.1.
  5. Update all instances of the release date in man/man1/abbr.1.
  6. Update all instances of the version number in completions/_abbr.
  7. Run bin/changelog.
  8. Update the first line of CHANGELOG.md: add the new version number twice:
    # [<HERE>](…vPrevious...v<AND HERE>) (…)
    
  9. Commit CHANGELOG.md, zsh-abbr.zsh, man/man1/abbr.1, and completions/_abbr.
    git commit -i CHANGELOG.md completions/_abbr man/man1/abbr.1 zsh-abbr.zsh -m "feat(release): bump to v%ABBR_CURSOR%, update changelog"
  10. Create a signed commit with the version number, prefixed with v.
    git tag -s v%ABBR_CURSOR% -m v%ABBR_CURSOR%
  11. If possible to fast-forward next to main, do so. If it isn't, rebase/merge/etc as needed to have next fork off the tip of main.
  12. Fast-forward the major-version branch (e.g. branch v5) to main.
  13. Push main, the tag, next, the major version branch, and any branches rewritten in the process of bringing next up to main.
  14. In GitHub, publish a new release. https://github.com/olets/zsh-abbr/releases/new. A GitHub Actions workflow will automatically update the Homebrew formula.