You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by zh...@apache.org on 2022/08/26 11:47:52 UTC
[incubator-devlake-website] branch main updated: docs: add release-SOP.md (#179)
This is an automated email from the ASF dual-hosted git repository.
zhangliang2022 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git
The following commit(s) were added to refs/heads/main by this push:
new 1723924e docs: add release-SOP.md (#179)
1723924e is described below
commit 1723924e61242f13b9be32f060141cf6c771e586
Author: mindlesscloud <li...@merico.dev>
AuthorDate: Fri Aug 26 19:47:49 2022 +0800
docs: add release-SOP.md (#179)
---
docs/DeveloperManuals/Release-SOP.md | 111 +++++++++++++++++++++++++++++++++++
1 file changed, 111 insertions(+)
diff --git a/docs/DeveloperManuals/Release-SOP.md b/docs/DeveloperManuals/Release-SOP.md
new file mode 100644
index 00000000..9e020d4a
--- /dev/null
+++ b/docs/DeveloperManuals/Release-SOP.md
@@ -0,0 +1,111 @@
+# Devlake release guide
+
+**Please make sure your public key was included in the https://downloads.apache.org/incubator/devlake/KEYS , if not, please update https://downloads.apache.org/incubator/devlake/KEYS first.**
+## How to update KEYS
+1. Clone the svn repository
+ ```shell
+ svn co https://dist.apache.org/repos/dist/dev/incubator/devlake
+ ```
+2. Append your public key to the KEYS file
+ ```shell
+ cd devlake
+ (gpg --list-sigs <your name> && gpg --armor --export <your name>) >> KEYS
+ ```
+3. Upload
+ ```shell
+ svn add KEYS
+ svn commit -m "update KEYS"
+ svn cp https://dist.apache.org/repos/dist/dev/incubator/devlake/KEYS https://dist.apache.org/repos/dist/release/incubator/devlake/ -m "update KEYS"
+ ```
+We will use `v0.12.0` as an example to demonstrate the release process.
+
+## ASF Release Policy
+https://www.apache.org/legal/release-policy.html
+https://incubator.apache.org/guides/releasemanagement.html
+
+## Tools:
+`gpg` creating and verifying the signature
+`shasum` creating and verifying the checksum
+`git` checkout and pack the codebase
+`svn` uploading the code to the Apache code hosting server
+
+## Prepare
+- Check against the Incubator Release Checklist
+- Create folder `releases/lake-v0.12.0` and put the two files `docker-compose.yml` and `env.example` in there.
+- Update the file `.github/ISSUE_TEMPLATE/bug-report.yml` to include the version `v0.12.0`
+
+
+## Pack
+- Checkout to the branch/commit
+ ```shell
+ git clone https://github.com/apache/incubator-devlake.git
+ cd incubator-devlake
+ git checkout 25b718a5cc0c6a782c441965e3cbbce6877747d0
+ ```
+
+- Tag the commit and push to origin
+ ```shell
+ git tag v0.12.0-rc2
+ git push origin v0.12.0-rc2
+ ```
+
+- Pack the code
+ ```shell
+ git archive --format=tar.gz --output="<the-output-dir>/apache-devlake-0.12.0-incubating-src.tar.gz" --prefix="apache-devlake-0.12.0-incubating-src/" v0.12.0-rc2
+ ```
+- Before proceeding to the next step, please make sure your public key was included in the https://downloads.apache.org/incubator/devlake/KEYS
+- Create signature and checksum
+ ```shell
+ cd <the-output-dir>
+ gpg -s --armor --output apache-devlake-0.12.0-incubating-src.tar.gz.asc --detach-sig apache-devlake-0.12.0-incubating-src.tar.gz
+ shasum -a 512 apache-devlake-0.12.0-incubating-src.tar.gz > apache-devlake-0.12.0-incubating-src.tar.gz.sha512
+ ```
+- Verify signature and checksum
+ ```shell
+ gpg --verify apache-devlake-0.12.0-incubating-src.tar.gz.asc apache-devlake-0.12.0-incubating-src.tar.gz
+ shasum -a 512 --check apache-devlake-0.12.0-incubating-src.tar.gz.sha512
+ ```
+## Upload
+- Clone the svn repository
+ ```shell
+ svn co https://dist.apache.org/repos/dist/dev/incubator/devlake
+ ```
+- Copy the files into the svn local directory
+ ```shell
+ cd devlake
+ mkdir -p 0.12.0-incubating-rc2
+ cp <the-output-dir>/apache-devlake-0.12.0-incubating-src.tar.gz* 0.12.0-incubating-rc2/
+ - Upload local files
+ svn add 0.12.0-incubating-rc2
+ svn commit -m "add 0.12.0-incubating-rc2"
+ ```
+## Vote
+1. Devlake community vote:
+ - Start the vote by sending an email to <de...@devlake.apache.org>
+ [[VOTE] Release Apache DevLake (Incubating) v0.12.0-rc2](https://lists.apache.org/thread/yxy3kokhhhxlkxcr4op0pwslts7d8tcy)
+ - Announce the vote result
+ [[RESULT][VOTE] Release Apache DevLake (Incubating) v0.12.0-rc2](https://lists.apache.org/thread/qr3fj42tmryztt919jsy5q8hbpmcztky)
+
+2. Apache incubator community vote:
+ - Start the vote by sending an email to general@incubator.apache.org
+ [[VOTE] Release Apache DevLake (Incubating) v0.12.0-rc2](https://lists.apache.org/thread/0bjroykzcyoj7pnjt7gjh1v3yofm901o)
+ - Announce the vote result
+ [[RESULT][VOTE] Release Apache DevLake (Incubating) v0.12.0-rc2](https://lists.apache.org/thread/y2pqg0c2hhgp0pcqolv19s27db190xsh)
+
+## Release
+### Apache
+- Move the release to the ASF content distribution system
+ ```shell
+ svn mv https://dist.apache.org/repos/dist/dev/incubator/devlake/0.12.0-incubating-rc2 https://dist.apache.org/repos/dist/release/incubator/devlake/0.12.0-incubating -m "transfer packages for 0.12.0-incubating-rc2"
+ ```
+- Wait until the directory 0.12.0-incubating in https://downloads.apache.org/incubator/devlake/ was created
+- Announce release by sending an email to general@incubator.apache.org
+ [[ANNOUNCE] Release Apache Devlake(incubating) 0.12.0-incubating](https://lists.apache.org/thread/7h6og1y6nhh4xr4r6rqbnswjoj3msxjk)
+### GitHub
+- Create tag v0.12.0 and push
+ ```shell
+ git checkout v0.12.0-rc2
+ git tag v0.12.0
+ git push origin v0.12.0
+ ```
+- Create release v0.12.0 https://github.com/apache/incubator-devlake/releases/tag/v0.12.0