Browse Source

docs: add instructions for release (#6268)

ᴜɴᴋɴᴡᴏɴ 9 months ago
parent
commit
40513a117f

+ 1 - 1
.github/ISSUE_TEMPLATE/security.md

@@ -7,6 +7,6 @@ about: Report security vulnerability for this project
 <!--
 
 Please create a dummy issue with high-level description of the security vulnerability,
-then report details to u@gogs.io privately, thank you!
+then report details to security@gogs.io privately, thank you!
 
 -->

+ 2 - 3
SECURITY.md

@@ -6,6 +6,5 @@ Only lastest two minor version releases are supported for patching security fixe
 
 ## Reporting a vulnerability
 
-Please send report privately to [security@gogs.io](mailto:security@gogs.io), and include how would you like to be credited.
-
-Thank you!
+Please create a dummy issue with high-level description of the security vulnerability,
+then report details to [security@gogs.io](mailto:security@gogs.io) privately, thank you!

+ 16 - 0
docs/dev/import_locale.md

@@ -0,0 +1,16 @@
+# Import locales from Crowdin
+
+1. Download the ZIP archive from [Crowdin](https://crowdin.gogs.io/) and unzip it.
+1. Go to root directory of the repository.
+1. Run the `import` subcommand:
+
+    ```
+    $ ./gogs import locale --source <path to the unzipped directory> --target ./conf/locale
+    Locale files has been successfully imported!
+    ```
+
+1. Run `make generate` to generate corresponding bindata.
+1. Run `./gogs web` to start the web server, then visit the site in browser to make sure nothing blows up.
+1. Check out a new branch using `git checkout -b update-locales`.
+1. Stash changes then run `git commit -m "locale: sync from Crowdin"`.
+1. Push the commit then open up a pull request on GitHub.

+ 1 - 1
docs/dev/local_development.md

@@ -76,7 +76,7 @@ Gogs has the following dependencies:
     ```bash
     sudo apt install -y make git-all postgresql postgresql-contrib golang-go nodejs
     npm install -g less
-    # Watch out, it is not github.com/go-bindata/go-bindata!
+    # Watch out, it is NOT github.com/go-bindata/go-bindata!
     go get -u github.com/kevinburke/go-bindata/...
     ```
 

+ 38 - 0
docs/dev/release/issue_template_minor_version.md

@@ -0,0 +1,38 @@
+## Before release
+
+On develop branch:
+
+- [ ] Close stale issues with the label [status: needs feedback](https://github.com/gogs/gogs/issues?q=is%3Aissue+is%3Aopen+label%3A%22status%3A+needs+feedback%22).
+- [ ] [Sync locales from Crowdin](https://github.com/gogs/gogs/blob/master/docs/dev/import_locale.md).
+- [ ] Update [CHANGELOG](https://github.com/gogs/gogs/blob/master/CHANGELOG.md) to include entries for the current release.
+- [ ] Cut a new release branch `release/<MAJOR>.<MINOR>`, e.g. `release/0.12`.
+
+## During release
+
+On release branch:
+
+- [ ] Update the [hard-coded version](https://github.com/gogs/gogs/blob/master/gogs.go#L21) to the current release, e.g. `0.12.0+dev` -> `0.12.0`.
+- [ ] Publish a new [GitHub release](https://github.com/gogs/gogs/releases) with entries from [CHANGELOG](https://github.com/gogs/gogs/blob/master/CHANGELOG.md) for the current release.
+- [ ] Wait for a new [Docker Hub tag](https://hub.docker.com/r/gogs/gogs/tags) for the current release to be created automatically.
+- [ ] Compile and pack binaries (all prefixed with `gogs_<MAJOR>.<MINOR>.<PATCH>_`, e.g. `gogs_0.12.0_`):
+	- [ ] macOS: `darwin_amd64.zip`
+	- [ ] Linux: `linux_386.tar.gz`, `linux_386.zip`, `linux_amd64.tar.gz`, `linux_amd64.zip`
+	- [ ] ARM: `linux_armv7.zip`
+	- [ ] Windows: `windows_amd64.zip`, `windows_amd64_mws.zip`
+- [ ] Generate SHA256 checksum for all binaries to the file `checksum_sha256.txt`.
+- [ ] Upload all binaries to:
+	- [ ] GitHub release
+	- [ ] KeyCDN
+	- [ ] https://dl.gogs.io (also upload `checksum_sha256.txt`)
+- [ ] Build, push and tag a new Docker image for ARM to [Docker Hub](https://hub.docker.com/r/gogs/gogs-rpi).
+
+## After release
+
+On develop branch:
+
+- [ ] Update the repository mirror on [Gitee](https://gitee.com/unknwon/gogs).
+- [ ] Create a new release topic on [Gogs Discussion](https://discuss.gogs.io/c/announcements/5).
+- [ ] Send out release announcement emails via [Mailchimp](https://mailchimp.com/).
+- [ ] Publish a new release article on [OSChina](http://my.oschina.net/Obahua/admin/releases).
+- [ ] Update the [hard-coded version](https://github.com/gogs/gogs/blob/master/gogs.go#L21) to the new develop version, e.g. `0.12.0+dev` -> `0.13.0+dev`.
+- [ ] Run `make legacy` to identify deprecated code that is aimed to be removed in current develop version.

+ 9 - 0
docs/dev/release/release_new_version.md

@@ -0,0 +1,9 @@
+# Release a new version
+
+## Release a minor version
+
+To release a new minor version, create a new GitHub issue with following attributes:
+
+1. Title: `Release <MAJOR>.<MINOR>.0`
+1. Label: [📸 release](https://github.com/gogs/gogs/labels/%F0%9F%93%B8%20release)
+1. Content: [minor version issue template](issue_template_minor_version.md)