add doc for creating new invidious release
This commit is contained in:
parent
1223096e7e
commit
5f792b98e6
|
@ -0,0 +1,75 @@
|
|||
# How to make a new Invidious release
|
||||
|
||||
## Preamble
|
||||
|
||||
In the following document, `vX.Y.Z` is the release version, which should follow
|
||||
the pattern `v<MAJOR>.<YYYY><MM><DD>.<PATCH>`
|
||||
|
||||
The major component is only updated on breaking changes (database migrations,
|
||||
incompatible config changes). The minor component is the current UTC date.
|
||||
The patch component is updated if a second release is done the same day.
|
||||
|
||||
|
||||
## Step 0
|
||||
|
||||
Make sure you're synced with upstream:
|
||||
```sh
|
||||
git checkout master
|
||||
git remote update
|
||||
git pull origin master
|
||||
```
|
||||
|
||||
|
||||
## Step 1
|
||||
|
||||
Update CHANGELOG.md to reflect the changes made since the last release.
|
||||
|
||||
Each changelog entry is composed of a summary and a list of PRs (~= diff).
|
||||
|
||||
The summary should be simple and concise, and only reflect most important
|
||||
changes, preferably sorted by impact (new features/breaking changes that the
|
||||
users will see goes first, changes that affect developers/API users should go
|
||||
last). Minor changes that are related to repo maintenance can be ignored.
|
||||
|
||||
Do not forget to list **ALL** the PRs that have been merged since the last
|
||||
release, with the proper links.
|
||||
|
||||
Note: Maybe this should be done each time a PR is marged?
|
||||
|
||||
|
||||
## Step 2
|
||||
|
||||
Commit the changes made to `CHANGELOG.md`:
|
||||
```sh
|
||||
git commit -S -m "Release vX.Y.Z"
|
||||
```
|
||||
|
||||
**THEN** tag your release, like so:
|
||||
```sh
|
||||
git tag -as vX.Y.Z
|
||||
```
|
||||
|
||||
Git will ask to provide a tag message. All you have to do is copy/pasting the
|
||||
summary from `CHANGEMLOG.md` and adapt a the formatting as required. Do not
|
||||
include the list of PRs merged.
|
||||
|
||||
|
||||
## Step 3
|
||||
|
||||
Once you have checked everything, push to GitHub:
|
||||
```sh
|
||||
git push origin master
|
||||
git push upstream vX.Y.Z
|
||||
```
|
||||
|
||||
|
||||
## Step 4
|
||||
|
||||
Got to GitHub to make a new release:
|
||||
https://github.com/iv-org/invidious/releases/new
|
||||
|
||||
Select the tag your previously created, leave `target` set to `master`,
|
||||
and then copy paste the text you wrote to `CHANGELOG.md` (both the summary and
|
||||
the list of PRs merged since last release).
|
||||
|
||||
And then click "publish"!
|
Loading…
Reference in New Issue