crystal-lang / distribution-scripts

40 stars 23 forks source link

Release Shards 0.18.0 #293

Closed straight-shoota closed 3 months ago

straight-shoota commented 3 months ago

Release preparation

  1. [x] Start preparing changelog and release notes
  2. [x] Publish release PR draft (https://github.com/crystal-lang/shards/pull/624)
    • It should be populated with updates to CHANGELOG.md, VERSION, and shard.yml.

Release process

Steps 4.-6. are automated via scripts/make-shards-release.sh

  1. [x] Finalize the release PR
    • Make sure all changes are mentioned in the changelog
    • Check release date
    • Build man files with the release date: $ make clean docs SOURCE_DATE_EPOCH=$(gdate -ud "YYYY-MM-DD" +"%s")
    • Un-draft the PR
  2. [x] Split off release branch (release/x.y)
  3. [x] Smoke test with test-ecosystem
  4. [x] Merge the release PR
  5. [x] Tag & annotate the commit with the changelog using v<M.m.p> pattern as {version}
    • git tag -s -a -m v0.18.0 v0.18.0
    • git push --tags
  6. [x] Publish Github release (https://github.com/crystal-lang/shards/releases/new)
    • Copy the changelog section as description
  7. [x] Close milestone (https://github.com/crystal-lang/shards/milestones)

Post-release

  1. [x] Increment VERSION file to the next minor and -dev suffix
  2. [x] Update distribution-scripts (Helper script: scripts/update-shards.sh) (https://github.com/crystal-lang/distribution-scripts/pull/294)
  3. [x] Update https://github.com/crystal-lang/crystal
  4. [ ] Submit a PR to update the homebrew formula in https://github.com/Homebrew/homebrew-core/blob/master/Formula/crystal.rb . Or do it on Crystal release.
  5. [x] Update default base version in test-ecosystem
  6. [ ] Perform uncomment/todos left in the repo