Skip to content

Latest commit

 

History

History
57 lines (49 loc) · 1.83 KB

CONTRIBUTING.md

File metadata and controls

57 lines (49 loc) · 1.83 KB

Contributing

This project is maintained by @luqven. If you have any questions or suggestions, please open an issue or a pull request.

Release

To release a new version of the project, you need to:

  1. Update the version number in the Cargo.toml file

     [package]
     version = "0.1.0" // <-- Update this to next version
     // ...
  2. Create target/release/ folder with the binary

    cargo build --release
  3. Create a release commit with the changes and tag it with the new version number

    git add Cargo.toml
    git add Cargo.lock
    git commit -m "chore: release v0.1.0" && git tag v0.1.0
  4. Push the commit and tag to the remote repository

    git push origin master && git push origin master --tags
  5. Create a .tar.gz archive of the release bundle that's compatible with Brew and GitHub Releases.

    cd target/release
    tar -czf gh-stack-mac.tar.gz gh-stack
  6. Upload the release bundle to the luqven/gh-stack repository on GitHub Releases.

    Navigate to the Releases section and then click on "Create a new release". Insert a tag version, IE v0.1.0, a title, and then drag the previously created .tar.gz archive into the upload section. Click on the Publish release button.

  7. Copy the sha256sum of the archive to the homebrew-gh-stack/Formula/gh-stack.rb file and update the version number.

    cd target/release
    shasum -a 256 gh-stack-mac.tar.gz
    # homebrew-gh-stack repository
    # /Formula/gh-stack.rb
    class GhStack < Formula
       desc "Manage GH PR stacks via the command line"
       homepage "https://github.com/luqven/gh-stack"
       version "0.1.0"
       url "https://github.com/luqven/gh-stack/releases/download/#{version}/gh-stack-mac.tar.gz"
       sha256 "<copied_sha>"
       ...
    end