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
Clone the svn repository
svn co https://dist.apache.org/repos/dist/dev/incubator/devlake
Append your public key to the KEYS file cd devlake
- Check if your public key is in the KEYS file
- If it does not, create a new GPG key, and then run the following command to see if it was successful.
gpg --list-sigs <your name>
- Append your publick key
gpg --armor --export <your name> >> KEYS
Upload
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.16.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 signatureshasum
creating and verifying the checksumgit
checkout and pack the codebasesvn
uploading the code to the Apache code hosting server
Prepare
- Check against the Incubator Release Checklist
- Create folder
releases/lake-v0.16.0
and put the two filesdocker-compose.yml
andenv.example
in there. - Update the file
.github/ISSUE_TEMPLATE/bug-report.yml
to include the versionv0.16.0
Pack
- Checkout to the branch/commit
git clone https://github.com/apache/incubator-devlake.git
cd incubator-devlake
git checkout b268d53a48edb26d3c9b73b782798703f068f655
Tag the commit and push to origin
git tag v0.16.0-rc2
git push origin v0.16.0-rc2Pack the code
git archive --format=tar.gz --output="<the-output-dir>/apache-devlake-0.16.0-incubating-src.tar.gz" --prefix="apache-devlake-0.16.0-incubating-src/" v0.16.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
cd <the-output-dir>
gpg -s --armor --output apache-devlake-0.16.0-incubating-src.tar.gz.asc --detach-sig apache-devlake-0.16.0-incubating-src.tar.gz
shasum -a 512 apache-devlake-0.16.0-incubating-src.tar.gz > apache-devlake-0.16.0-incubating-src.tar.gz.sha512Verify signature and checksum
gpg --verify apache-devlake-0.16.0-incubating-src.tar.gz.asc apache-devlake-0.16.0-incubating-src.tar.gz
shasum -a 512 --check apache-devlake-0.16.0-incubating-src.tar.gz.sha512
Upload
- Clone the svn repository
svn co https://dist.apache.org/repos/dist/dev/incubator/devlake
- Copy the files into the svn local directory
cd devlake
mkdir -p 0.16.0-incubating-rc2
cp <the-output-dir>/apache-devlake-0.16.0-incubating-src.tar.gz* 0.16.0-incubating-rc2/ - Upload local files
svn add 0.16.0-incubating-rc2
svn commit -m "add 0.16.0-incubating-rc2"
Vote
You can check Incubator Release Checklist before voting.
Devlake community vote:
- Start the vote by sending an email to dev@devlake.apache.org[VOTE] Release Apache DevLake (Incubating) v0.16.0-rc2
- Announce the vote result: [RESULT][VOTE] Release Apache DevLake (Incubating) v0.16.0-rc2
Apache incubator community vote:
- Start the vote by sending an email to general@incubator.apache.org[VOTE] Release Apache DevLake (Incubating) v0.16.0-rc2
- Announce the vote result: [RESULT][VOTE] Release Apache DevLake (Incubating) v0.16.0-rc2
Release
Apache
- Move the release to the ASF content distribution system
svn mv https://dist.apache.org/repos/dist/dev/incubator/devlake/0.16.0-incubating-rc2 https://dist.apache.org/repos/dist/release/incubator/devlake/0.16.0-incubating -m "transfer packages for 0.16.0-incubating-rc2"
- Wait until the directory
https://downloads.apache.org/incubator/devlake/0.16.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)svn rm https://dist.apache.org/repos/dist/release/incubator/devlake/0.15.0-incubating -m "remove 0.15.0-incubating"
- Announce release by sending an email to general@incubator.apache.org[ANNOUNCE] Release Apache Devlake(incubating) 0.16.0-incubating
GitHub
- Create tag v0.16.0 and push
git checkout v0.16.0-rc2
git tag v0.16.0
git push origin v0.16.0 - Open the URL
https://github.com/apache/incubator-devlake/releases/
, draft a new release, fill in the form and upload two filesdocker-compose.yml
andenv.example