Skip to content

Contributor Workflows

David Foster edited this page Apr 3, 2021 · 10 revisions

Code Contributors

Repeat forever:

  • Work on some tasks scheduled for the next release.
    • If you are contributing for the first time, consider looking at good first issues.
    • See the Roadmap for major items in the next release.
      • Please be sure to create an issue first before working on any item to declare to other contributors that you're working on it. Link to created issue from the Roadmap.
    • Browse high-priority issues to consider slipping in one as well.
    • 🎗️ Every release generally must have at least one releaseworthy issue.
    • 🎗️ Recommend including at least one low-priority issue in each release to ensure they're not completely starved for attention.
  • If sufficient tasks have been completed to cut a release, then actually cut a release:
    • Update the version number in src/crystal/__init__.py if not already done.
    • Ensure all the automated tests pass.
    • Review/revise the release notes.
    • Rebuild the Mac and Windows binary (on the earliest supported Mac/Windows versions).
    • Install/test the built binaries on a fresh Mac/Windows VM, attempting to download/serve a simple web page like https://xkcd.com/ .
    • Tag the Git commit as v#.#.# for the version.
    • Create a new Release on GitHub, with the same description as in the release notes, and upload the related binaries.
    • Update the README to point to the latest binaries.
    • Announce the release via blog post, Twitter, etc if desired.

Maintainers

Repeat forever:

Clone this wiki locally