Skip to main content

Release Doris SDK

Its code base is independent of the main Doris code base, located at:

Ready to Release​

First, please refer to the release preparation document to prepare for the release.

Releasing to Maven​

Let's take the release of Doris Sdk v1.0.0 as an example.

1. Prepare branch​

Create a branch in the code base: 1.0.0-release, and checkout to this branch.

2. Release to Maven staging​

Execute the following command to start generating release tags:

mvn release:clean
mvn release:prepare -DpushChanges=false

Among them, -DpushChanges=false means that during the execution process, the newly generated branches and tags will not be pushed to the code base.

After executing the release:prepare command, the following three pieces of information will be requested:

  1. Doris Sdk version information: we can use the default, you can directly press Enter or enter the version you want. The version format is {sdk.version}, such as 1.0.0.
  2. Release tag of Doris SDK: The release process will generate a tag locally. We can use the default tag name, such as 1.0.0.
  3. The version number of the next version of Doris SDK: this version number is only used when generating local branches, and has no practical significance. We can fill in one according to the rules. For example, the current version to be released is: 1.0.0, then fill in 1.0.1-SNAPSHOT for the next version number.

mvn release:prepare may ask for a GPG passphrase. If there is gpg: no valid OpenPGP data found error, you can execute export GPG_TTY=$(tty) and try again.

After mvn release:prepare is executed successfully, a tag and a branch will be generated locally. And the current branch will add two commits. The first commit corresponds to the newly generated tag, and the second is the next version of the branch. It can be viewed through git log.

After the local tag is confirmed to be correct, the tag needs to be pushed to the code base:

git push upstream --tags

Where upstream points to the apache/doris-sdk codebase.

Finally, execute perform:

mvn release:perform

After successful execution, you can find the newly released version in https://repository.apache.org/#stagingRepositories:

**Note that the .asc signature file needs to be included. **

If the operation is wrong. It is necessary to delete the local tag, the tag in the code base, and the two newly generated commits locally. And drop staging. Then perform the above steps again.

After checking, click the close button in the figure to complete the staging release.

3. Prepare svn​

Check out the svn repository:

svn co https://dist.apache.org/repos/dist/dev/doris/

Package tag source code, and generate signature file and sha256 verification file. Here we take 1.0.0 as an example. Other tag operations are the same

git archive --format=tar 1.14_2.12-1.0.0 --prefix=apache-doris-sdk-1.0.0-src/ | gzip > apache-doris-sdk-1.0.0-src.tar.gz
gpg -u xxx@apache.org --armor --output apache-doris-sdk-1.0.0-src.tar.gz.asc --detach-sign apache-doris-sdk-1.0.0-src.tar. gz
sha512sum apache-doris-sdk-1.14_2.12-1.0.0-src.tar.gz > apache-doris-sdk-1.0.0-src.tar.gz.sha512

Mac:
shasum -a 512 apache-doris-sdk-1.0.0-src.tar.gz > apache-doris-sdk-1.0.0-src.tar.gz.sha512

You end up with three files:

apache-doris-sdk-1.0.0-src.tar.gz
apache-doris-sdk-1.0.0-src.tar.gz.asc
apache-doris-sdk-1.0.0-src.tar.gz.sha512

Move these three files to the svn directory:

doris/doris-sdk/1.0.0/

The final svn directory structure is similar to:

β”œβ”€β”€ 1.2.3-rc01
β”‚ β”œβ”€β”€ apache-doris-1.2.3-src.tar.gz
β”‚ β”œβ”€β”€ apache-doris-1.2.3-src.tar.gz.asc
β”‚ β”œβ”€β”€ apache-doris-1.2.3-src.tar.gz.sha512
...
β”œβ”€β”€ KEYS
β”œβ”€β”€ doris-sdk
β”‚ └── 1.0.0
β”‚ β”œβ”€β”€ apache-doris-sdk-1.0.0-src.tar.gz
β”‚ β”œβ”€β”€ apache-doris-sdk-1.0.0-src.tar.gz.asc
β”‚ └── apache-doris-sdk-1.0.0-src.tar.gz.sha512

Among them, 1.2.3-rc01 is the directory of Doris main code, and doris-sdk/1.0.0 is the content of this release.

Note, for the preparation of the KEYS file, please refer to the introduction in Release Preparation.

4. Voting​

Initiate a vote in the dev@doris mail group, the template is as follows:

Hi All,

This is a call for the vote to release Apache Doris-SDK 1.0.0

The git tag for the release:
https://github.com/apache/doris-sdk/releases/tag/1.0.0

Release Notes are here:
https://github.com/apache/doris-sdk/blob/1.0.0/CHANGE-LOG.txt

Thanks to everyone who has contributed to this release.

The release candidates:
https://dist.apache.org/repos/dist/dev/doris/doris-sdk/1.0.0/

KEYS file is available here:
https://downloads.apache.org/doris/KEYS

To verify and build, you can refer to the following link:
https://doris.apache.org/community/release-and-verify/release-verify

The vote will be open for at least 72 hours.

[ ] +1 Approve the release
[ ] +0 No opinion
[ ] -1 Do not release this package because ...

Completing the release​

Please refer to the Complete Release document to complete the entire release process.

APPENDIX: Releasing TO SNAPSHOT​

Snapshot is not an Apache Release version, it is only used for preview before release. After being discussed and approved by the PMC, the Snapshot version can be released

Switch to the doris sdk directory

mvn deploy

Afterwards you can see the snapshot version here:

https://repository.apache.org/content/repositories/snapshots/org/apache/doris/doris-sdk/