Skip to content

Commit

Permalink
Add Release information
Browse files Browse the repository at this point in the history
  • Loading branch information
JamyGolden committed Oct 9, 2024
1 parent daef9b2 commit d43450c
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 4 deletions.
5 changes: 1 addition & 4 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
### Description
<!-- Please describe what is the purpose of this PR. If possible, compose a small list of changes made. -->

[ ] CHANGELOG.md has been updated under an `## Unreleased` section at the top of the document right below `# Changelog`
[ ] Tests have been written and included

### Related tasks
<!-- If it's a github issue, add `closes #1234` (issue number) - this will make Github automatically close the issue when this PR is merged. -->

### Screenshots
<!-- If relevant, add screenshots that reflect the changes you made. -->

9 changes: 9 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,12 @@ make build
```sh
make test
```

## PRs

Include Rust related changes under `## Unreleased` (Copy the format from
the existing releases).

Changes should be included under `### Added`, `### Changed` and `###
Removed`. Bullet point information should be written in present tense
and should describe what the change does.
47 changes: 47 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Release process

1. Create a release commit. This includes specific updated files:

1. Cargo.toml (Bump the version using [semver] standards)
1. Cargo.lock (This is usually updated automatically with the `cargo`
CLI tool)
1. Make sure the changes for the new release exist under
`CHANGELOG.md`. This should already exist since changes done in
GitHub Pull Requests should include updates to the `CHANGELOG.md`.
If this doesn't exist, the release will fail.
1. Change `CHANGELOG.md` `## Unreleased` to `## [x.x.x] - YYYY-MM-DD`
where `x.x.x` is the new Tinty version specified in the
`Cargo.toml` file and the link to `[x.x.x]` at the bottom of the
`CHANGELOG.md` file and compare it with the previously released
version, eg:

```md
[0.22.0]: https://github.com/tinted-theming/tinty/compare/v0.21.1...v0.22.0
```

1. Run `cargo about generate about.hbs > LICENSES-THIRD-PARTY.md` to
update the third party licenses. (`cargo install cargo-about` if
you don't have it installed)
1. Create a commit with the 3 changed files titled `Release x.x.x`
where `x.x.x` is the new Tinty version specified in the
`Cargo.toml` file

1. Push the commit or create a Pull Request and merge
1. Once the CI tests have passed, run the [Release GitHub action]. This
will automatically do the following:

1. Add a Git tag to the release commit with the new
version number
1. Create a release under [GitHub releases] with the changes
mentioned in `CHANGELOG`
1. Generate the various binaries and add it to the GitHub release
1. Run the [homebrew-tinted] [Update CLI tool GitHub
action] and specify `tinty` as the action input value. This will
update the version for [Homebrew]

[semver]: https://semver.org/
[Release GitHub action]: https://github.com/tinted-theming/tinty/actions/workflows/release.yml
[GitHub releases]: https://github.com/tinted-theming/tinty/releases
[homebrew-tinted]: https://github.com/tinted-theming/homebrew-tinted
[Update CLI tool GitHub action]: https://github.com/tinted-theming/homebrew-tinted/actions/workflows/update-cli-tool.yml
[Homebrew]: https://brew.sh/

0 comments on commit d43450c

Please sign in to comment.