ratatui/RELEASE.md

1.4 KiB

Creating a Release

crates.io releases are automated via GitHub actions and triggered by pushing a tag.

  1. Record a new demo gif. The preferred tool for this is ttyrec and ttygif. Asciinema handles block character height poorly, termanilizer takes forever to render, vhs handles braille characters poorly (though if https://github.com/charmbracelet/vhs/issues/322 is fixed, then it's probably the best option).

    cargo build --example demo
    ttyrec -e 'cargo --quiet run --release --example demo -- --tick-rate 100' demo.rec
    ttygif demo.rec
    

    Then upload it somewhere (e.g. use vhs publish tty.gif to publish it or upload it to a GitHub wiki page as an attachment). Avoid adding the gif to the git repo as binary files tend to bloat repositories.

  2. Bump the version in Cargo.toml.

  3. Ensure CHANGELOG.md is updated. git-cliff can be used for generating the entries.

  4. Commit and push the changes.

  5. Create a new tag: git tag -a v[X.Y.Z]

  6. Push the tag: git push --tags

  7. Wait for Continuous Deployment workflow to finish.