## Summary
Starting with version 0.5.0 of Ruff, the release/tag name doesn't have a
leading "v". This has broken the link to the release notes that get
added to the release notes for the pre-commit hook.
This fixes it by stripping any "v" from the version number string.
See #91.
## Test Plan
Tested in a bash shell:
```bash
bash-5.2$ TAG_NAME=v0.5.0
bash-5.2$ echo ${TAG_NAME/v}
0.5.0
```
Will otherwise have to be tested on the next Ruff release.
## Summary
I originally tested this functionality in `uv-pre-commit`. And that is
why when moving it over, I ended up copying the URL for that release. I
am sorry for all the broken code I have introduced. I feel so bad. I am
at least glad I realized before a new `ruff` release came out.
As mentioned in #82, there are issues with having a workflow triggered
by the work done by a different workflow. To keep the functionality of
the auto release workflow, the two files are being merged into one.
Closes#82
<!--
Thank you for contributing to Ruff! To help us out with reviewing,
please consider the following:
- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->
## Summary
`uv` is great. So we should use it where we can.
The cache had to be removed because the workflow breaks currently.
https://github.com/actions/setup-python/issues/822
When this is solved, caching can be brought back in.
## Test Plan
Ran workflow on my local repo.
## Summary
Add a GitHub workflow for creating a new release, automatically, when a
new tag is created.
This solves #78. The code is very similar to the changes added in
https://github.com/astral-sh/uv-pre-commit/pull/6
The primary difference, is that the URL points to ruff and this one
checks for if the tag starts with a `v`, but it is optional. This lets
you change ruff versions to not have a `v` in the future. Although the
`mirror.py` will need to be updated.
Speaking of updates to `mirror.py`, I ran `ruff` on it and updated the
`subprocess` to raise an error on failure.
## Test Plan
Locally tested.