You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2023/01/12 07:32:41 UTC
[incubator-devlake-website] 01/02: docs: update release sop doc
This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git
commit 9bc5a455393b864476ce51984e27827b19a09ee5
Author: abeizn <zi...@merico.dev>
AuthorDate: Thu Jan 12 14:43:17 2023 +0800
docs: update release sop doc
---
docs/DeveloperManuals/Release-SOP.md | 145 ++++++++++++++++++++---------------
1 file changed, 84 insertions(+), 61 deletions(-)
diff --git a/docs/DeveloperManuals/Release-SOP.md b/docs/DeveloperManuals/Release-SOP.md
index e63f317f5b..ff6fe6ebff 100644
--- a/docs/DeveloperManuals/Release-SOP.md
+++ b/docs/DeveloperManuals/Release-SOP.md
@@ -1,88 +1,107 @@
# DevLake Release Guide
**Please make sure your public key was included in the https://downloads.apache.org/incubator/devlake/KEYS , if not, please update this file first.**
+
## How to update KEYS
+
1. Clone the svn repository
- ```shell
- svn co https://dist.apache.org/repos/dist/dev/incubator/devlake
- ```
+ ```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
- ```
+ cd devlake
+ - Judging that your key is already in the file
+ ```shell
+ gpg --list-sigs <your name>
+ ```
+ - If not, append your publick key
+ ```shell
+ 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.14.0` as an example to demonstrate the release process.
+ ```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.14.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
+- `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.14.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.14.0`
-
## Pack
+
- Checkout to the branch/commit
- ```shell
- git clone https://github.com/apache/incubator-devlake.git
- cd incubator-devlake
- git checkout b268d53a48edb26d3c9b73b782798703f068f655
- ```
+
+```shell
+git clone https://github.com/apache/incubator-devlake.git
+cd incubator-devlake
+git checkout b268d53a48edb26d3c9b73b782798703f068f655
+```
- Tag the commit and push to origin
- ```shell
- git tag v0.14.0-rc1
- git push origin v0.14.0-rc1
- ```
+
+ ```shell
+ git tag v0.14.0-rc1
+ git push origin v0.14.0-rc1
+ ```
- Pack the code
- ```shell
- git archive --format=tar.gz --output="<the-output-dir>/apache-devlake-0.14.0-incubating-src.tar.gz" --prefix="apache-devlake-0.14.0-incubating-src/" v0.14.0-rc1
- ```
+ ```shell
+ git archive --format=tar.gz --output="<the-output-dir>/apache-devlake-0.14.0-incubating-src.tar.gz" --prefix="apache-devlake-0.14.0-incubating-src/" v0.14.0-rc1
+ ```
- 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.14.0-incubating-src.tar.gz.asc --detach-sig apache-devlake-0.14.0-incubating-src.tar.gz
- shasum -a 512 apache-devlake-0.14.0-incubating-src.tar.gz > apache-devlake-0.14.0-incubating-src.tar.gz.sha512
- ```
+ ```shell
+ cd <the-output-dir>
+ gpg -s --armor --output apache-devlake-0.14.0-incubating-src.tar.gz.asc --detach-sig apache-devlake-0.14.0-incubating-src.tar.gz
+ shasum -a 512 apache-devlake-0.14.0-incubating-src.tar.gz > apache-devlake-0.14.0-incubating-src.tar.gz.sha512
+ ```
- Verify signature and checksum
- ```shell
- gpg --verify apache-devlake-0.14.0-incubating-src.tar.gz.asc apache-devlake-0.14.0-incubating-src.tar.gz
- shasum -a 512 --check apache-devlake-0.14.0-incubating-src.tar.gz.sha512
- ```
+ ```shell
+ gpg --verify apache-devlake-0.14.0-incubating-src.tar.gz.asc apache-devlake-0.14.0-incubating-src.tar.gz
+ shasum -a 512 --check apache-devlake-0.14.0-incubating-src.tar.gz.sha512
+ ```
+
## Upload
+
- Clone the svn repository
- ```shell
- svn co https://dist.apache.org/repos/dist/dev/incubator/devlake
- ```
+ ```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.14.0-incubating-rc1
- cp <the-output-dir>/apache-devlake-0.14.0-incubating-src.tar.gz* 0.14.0-incubating-rc1/
- ```
+ ```shell
+ cd devlake
+ mkdir -p 0.14.0-incubating-rc1
+ cp <the-output-dir>/apache-devlake-0.14.0-incubating-src.tar.gz* 0.14.0-incubating-rc1/
+ ```
- Upload local files
- ```shell
- svn add 0.14.0-incubating-rc1
- svn commit -m "add 0.14.0-incubating-rc1"
- ```
+ ```shell
+ svn add 0.14.0-incubating-rc1
+ svn commit -m "add 0.14.0-incubating-rc1"
+ ```
+
## Vote
+
+You can check [Incubator Release Checklist](https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist) before voting.
+
1. Devlake community vote:
+
- Start the vote by sending an email to <de...@devlake.apache.org>
[[VOTE] Release Apache DevLake (Incubating) v0.14.0-rc1](https://lists.apache.org/thread/s6jj2tl5mlyb8jpdd88jmo5woydzhp54)
- Announce the vote result:
@@ -95,23 +114,27 @@ We will use `v0.14.0` as an example to demonstrate the release process.
[[RESULT][VOTE] Release Apache DevLake (Incubating) v0.14.0-rc1](https://lists.apache.org/thread/2xoqzymgvnrvrbn9dwsby39olotvt6oj)
## Release
+
### Apache
+
- Move the release to the ASF content distribution system
- ```shell
- svn mv https://dist.apache.org/repos/dist/dev/incubator/devlake/0.14.0-incubating-rc1 https://dist.apache.org/repos/dist/release/incubator/devlake/0.14.0-incubating -m "transfer packages for 0.14.0-incubating-rc1"
- ```
-- Wait until the directory `https://downloads.apache.org/incubator/devlake/0.14.0-incubating/` was created
+ ```shell
+ svn mv https://dist.apache.org/repos/dist/dev/incubator/devlake/0.14.0-incubating-rc1 https://dist.apache.org/repos/dist/release/incubator/devlake/0.14.0-incubating -m "transfer packages for 0.14.0-incubating-rc1"
+ ```
+- Wait until the directory `https://downloads.apache.org/incubator/devlake/0.14.0-incubating/` was created
- Remove the last release from `https://downloads.apache.org/` (according the Apache release policy, this link should be pointing to the current release)
- ```shell
- svn rm https://dist.apache.org/repos/dist/release/incubator/devlake/0.11.0-incubating -m "remove 0.11.0-incubating"
- ```
+ ```shell
+ svn rm https://dist.apache.org/repos/dist/release/incubator/devlake/0.11.0-incubating -m "remove 0.11.0-incubating"
+ ```
- Announce release by sending an email to general@incubator.apache.org
- [[ANNOUNCE] Release Apache Devlake(incubating) 0.14.0-incubating](https://lists.apache.org/thread/401p8xm8tcp9tplh2sdht7dnrbs03rht)
+ [[ANNOUNCE] Release Apache Devlake(incubating) 0.14.0-incubating](https://lists.apache.org/thread/401p8xm8tcp9tplh2sdht7dnrbs03rht)
+
### GitHub
+
- Create tag v0.14.0 and push
- ```shell
- git checkout v0.14.0-rc1
- git tag v0.14.0
- git push origin v0.14.0
- ```
+ ```shell
+ git checkout v0.14.0-rc1
+ git tag v0.14.0
+ git push origin v0.14.0
+ ```
- Open the URL `https://github.com/apache/incubator-devlake/releases/`, draft a new release, fill in the form and upload two files `docker-compose.yml` and `env.example`