This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/amoro-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 4bc9f98 deploy: 503930a6b4631b5b5e96fc2a38fb26f3dea90478
4bc9f98 is described below
commit 4bc9f98e3f3dd5ade8fc27aac7291c697ff29fdf
Author: zhoujinsong <[email protected]>
AuthorDate: Tue Jun 17 06:06:45 2025 +0000
deploy: 503930a6b4631b5b5e96fc2a38fb26f3dea90478
---
output/benchmark-guide/index.html | 8 +
output/benchmark-report/index.html | 8 +
output/community/index.xml | 14 +
output/download/index.html | 8 +
output/how-to-contribute/index.html | 8 +
output/index.html | 10 +-
output/index.xml | 14 +
output/join-community/index.html | 8 +
output/landingpagesearch.json | 2 +-
output/quick-start/index.html | 8 +
output/release-guide/index.html | 643 +++++++++++++++++++++
output/roadmap/index.html | 8 +
output/sitemap.xml | 4 +
.../index.html | 213 +++----
14 files changed, 829 insertions(+), 127 deletions(-)
diff --git a/output/benchmark-guide/index.html
b/output/benchmark-guide/index.html
index 3c3f2f5..4725737 100644
--- a/output/benchmark-guide/index.html
+++ b/output/benchmark-guide/index.html
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/benchmark-report/index.html
b/output/benchmark-report/index.html
index 7b82820..e5cb145 100644
--- a/output/benchmark-report/index.html
+++ b/output/benchmark-report/index.html
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/community/index.xml b/output/community/index.xml
index e23da0b..efea1df 100644
--- a/output/community/index.xml
+++ b/output/community/index.xml
@@ -21,5 +21,19 @@
<guid>https://amoro.apache.org/join-community/</guid>
<description><h1
id="welcome-to-apache-amoro-incubating">Welcome to Apache Amoro
(incubating)</h1>
<p>Amoro community is a free, open-source
community project.
Anyone interested in the Amoro project can join the
community and contribute to its development by becoming a part of
it.</p>
<p>This document describes some guidelines for joining
the Amoro community.</p>
<h2 id="mailing-lists">Mailing
Lists</h2> [...]
</item>
+ <item>
+ <title>Release Guide</title>
+ <link>https://amoro.apache.org/release-guide/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+ <guid>https://amoro.apache.org/release-guide/</guid>
+ <description><h1 id="how-to-release-a-new-version">How to
release a new version</h1>
<h2
id="preparation">Preparation</h2>
<h3
id="apache-release-documentation">Apache release
documentation</h3>
<p>Please refer to the following link to
understand the ASF release
process:</p>
<ul>
<li><a
href="http://www.apache.org/dev/release-publishing">Apache Release
Guide</a&g [...]
+ </item>
+ <item>
+ <title>Release Guide</title>
+ <link>https://amoro.apache.org/validate-release/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+ <guid>https://amoro.apache.org/validate-release/</guid>
+ <description><h1 id="how-to-validate-a-new-release">How to
validate a new release</h1>
<h2
id="download-candidate">Download candidate</h2>
<div
class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span s [...]
+ </item>
</channel>
</rss>
diff --git a/output/download/index.html b/output/download/index.html
index 6d4730d..0de73ea 100644
--- a/output/download/index.html
+++ b/output/download/index.html
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/how-to-contribute/index.html
b/output/how-to-contribute/index.html
index 6bf9b65..ccdebeb 100644
--- a/output/how-to-contribute/index.html
+++ b/output/how-to-contribute/index.html
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/index.html b/output/index.html
index eaeb26a..853d468 100644
--- a/output/index.html
+++ b/output/index.html
@@ -30,7 +30,7 @@
<!DOCTYPE html>
<html>
<head>
- <meta name="generator" content="Hugo 0.147.2">
+ <meta name="generator" content="Hugo 0.147.8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -208,6 +208,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/index.xml b/output/index.xml
index 7615ac1..7ad0d15 100644
--- a/output/index.xml
+++ b/output/index.xml
@@ -49,6 +49,20 @@
<guid>https://amoro.apache.org/quick-start/</guid>
<description><h1
id="quickstart">Quickstart</h1>
<p>This guide
outlines the basic process of using Amoro, allowing you to quickly experience
its core features. You can choose to use either the <code>Iceberg
Format</code> or the <code>Mixed-Iceberg Format</code> to
complete the entire process.</p>
<p>If you are more interested
in the <code>Mixed-Hive Format</code> or the <code>Paimon
Format</c [...]
</item>
+ <item>
+ <title>Release Guide</title>
+ <link>https://amoro.apache.org/release-guide/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+ <guid>https://amoro.apache.org/release-guide/</guid>
+ <description><h1 id="how-to-release-a-new-version">How to
release a new version</h1>
<h2
id="preparation">Preparation</h2>
<h3
id="apache-release-documentation">Apache release
documentation</h3>
<p>Please refer to the following link to
understand the ASF release
process:</p>
<ul>
<li><a
href="http://www.apache.org/dev/release-publishing">Apache Release
Guide</a&g [...]
+ </item>
+ <item>
+ <title>Release Guide</title>
+ <link>https://amoro.apache.org/validate-release/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+ <guid>https://amoro.apache.org/validate-release/</guid>
+ <description><h1 id="how-to-validate-a-new-release">How to
validate a new release</h1>
<h2
id="download-candidate">Download candidate</h2>
<div
class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span s [...]
+ </item>
<item>
<title>Roadmap</title>
<link>https://amoro.apache.org/roadmap/</link>
diff --git a/output/join-community/index.html b/output/join-community/index.html
index 95ef751..bae950c 100644
--- a/output/join-community/index.html
+++ b/output/join-community/index.html
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/landingpagesearch.json b/output/landingpagesearch.json
index 7b71367..917fcad 100644
--- a/output/landingpagesearch.json
+++ b/output/landingpagesearch.json
@@ -1 +1 @@
-[{"categories":null,"content":"Benchmark Report Test purpose This test aims at
comparing the OLAP benchmark performance of various data lake formats in the
scenario of continuous streaming ingestion in the CDC database.\nMeanwhile,
particular attention was paid during the testing process to the impact of
enabling self-optimizing on the analytical performance of the table.\nTest
envrionment Hardware configuration Number OS Cpu core Memory Disk type Deployed
components 1 CentOS 7 40 256 SA [...]
\ No newline at end of file
+[{"categories":null,"content":"Benchmark Report Test purpose This test aims at
comparing the OLAP benchmark performance of various data lake formats in the
scenario of continuous streaming ingestion in the CDC database.\nMeanwhile,
particular attention was paid during the testing process to the impact of
enabling self-optimizing on the analytical performance of the table.\nTest
envrionment Hardware configuration Number OS Cpu core Memory Disk type Deployed
components 1 CentOS 7 40 256 SA [...]
\ No newline at end of file
diff --git a/output/quick-start/index.html b/output/quick-start/index.html
index 1fc9334..8d72be4 100644
--- a/output/quick-start/index.html
+++ b/output/quick-start/index.html
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/release-guide/index.html b/output/release-guide/index.html
new file mode 100644
index 0000000..3c8a198
--- /dev/null
+++ b/output/release-guide/index.html
@@ -0,0 +1,643 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html>
+<head>
+
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="">
+ <meta name="author" content="">
+ <title>Release Guide</title>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<link href="/css/bootstrap.css" rel="stylesheet">
+
+
+<link href="/css/markdown.css" rel="stylesheet">
+<link href="/css/katex.min.css" rel="stylesheet">
+
+
+
+
+
+<link href="/css/amoro-theme.css" rel="stylesheet">
+
+
+<link href="/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"
type="text/css">
+<link
href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic"
rel="stylesheet" type="text/css">
+
+
+<link href="/css/termynal.css" rel="stylesheet">
+
+<link href="/css/home-page.css" rel="stylesheet">
+
+
+
+
+
+
+</head>
+<body>
+
+<head>
+ <script>
+
+ function addAnchor(element) {
+ element.insertAdjacentHTML('beforeend', `<a href="#${element.id}"
class="anchortag" ariaLabel="Anchor"> π </a>` )
+ }
+ document.addEventListener('DOMContentLoaded', function () {
+ var headers = document.querySelectorAll('h1[id], h2[id], h3[id],
h4[id]')
+ if (headers) {
+ headers.forEach(addAnchor)
+ }
+ });
+ </script>
+</head>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <nav class="navbar navbar-default" role="navigation">
+ <topsection>
+ <div class="navbar-fixed-top">
+ <div>
+ <a class="page-scroll navbar-brand"
href="https://amoro.apache.org/"><img class="top-navbar-logo"
src="https://amoro.apache.org//img/amoro-logo-icon.png"/></a>
+ </div>
+ </div>
+ <div class="navbar-menu-fixed-top navbar-pages-group">
+
+
+
+
+
+ <div class="topnav-page-selection">
+ <a href="/quick-start/">Quickstart</a>
+ </div class="topnav-page-selection">
+
+
+
+
+
+ <div class="versions-dropdown">
+ <div class="topnav-page-selection">
+ <a href="">Docs</a> <i class="fa fa-caret-down"></i>
+ </div class="topnav-page-selection">
+ <div class="versions-dropdown-content">
+ <ul>
+
+ <li class="topnav-page-selection">
+ <a href="/docs/latest/">latest</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/docs/0.8.0/">0.8.0-incubating</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/docs/0.7.1/">0.7.1-incubating</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/docs/0.7.0/">0.7.0-incubating</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/docs/0.6.1/">0.6.1</a>
+ </li class="topnav-page-selection">
+
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+ <div class="versions-dropdown">
+ <div class="topnav-page-selection">
+ <a href="">Benchmark</a> <i class="fa
fa-caret-down"></i>
+ </div class="topnav-page-selection">
+ <div class="versions-dropdown-content">
+ <ul>
+
+ <li class="topnav-page-selection">
+ <a href="/benchmark-report/">Benchmark Report</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/benchmark-guide/">Benchmark Guide</a>
+ </li class="topnav-page-selection">
+
+ </ul>
+ </div>
+ </div>
+
+
+
+
+ <div class="topnav-page-selection">
+ <a href="/download/">Download</a>
+ </div class="topnav-page-selection">
+
+
+
+
+ <div class="topnav-page-selection">
+ <a href="/roadmap/">Roadmap</a>
+ </div class="topnav-page-selection">
+
+
+
+
+
+ <div class="versions-dropdown">
+ <div class="topnav-page-selection">
+ <a href="">Community</a> <i class="fa
fa-caret-down"></i>
+ </div class="topnav-page-selection">
+ <div class="versions-dropdown-content">
+ <ul>
+
+ <li class="topnav-page-selection">
+ <a href="/join-community/">Join Community</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/how-to-contribute/">How to
contribute</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
+ </ul>
+ </div>
+ </div>
+
+
+
+
+
+ <div class="versions-dropdown">
+ <div class="topnav-page-selection">
+ <a href="">ASF</a> <i class="fa fa-caret-down"></i>
+ </div class="topnav-page-selection">
+ <div class="versions-dropdown-content">
+ <ul>
+
+ <li class="topnav-page-selection">
+ <a target="_blank"
href="https://www.apache.org/">Foundation</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a target="_blank"
href="https://www.apache.org/licenses/">License</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a target="_blank"
href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a target="_blank"
href="https://www.apache.org/foundation/thanks.html">Sponsors</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a target="_blank"
href="https://www.apache.org/security/">Security</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a target="_blank"
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a>
+ </li class="topnav-page-selection">
+
+ </ul>
+ </div>
+ </div>
+
+
+ <div class="topnav-page-selection">
+ <a href="https://github.com/apache/incubator-amoro"
target="_blank">
+ <img
src="https://amoro.apache.org//img/GitHub-Mark.png" target="_blank"
class="top-navbar-logo"/>
+ </a>
+ </div>
+ </div>
+ </topsection>
+ </nav>
+
+<body dir=" ltr">
+ <section>
+ <div class="grid-container toc-only">
+
+ <div id="content" class="markdown-body">
+ <div class="margin-for-toc"><h1
id="how-to-release-a-new-version">How to release a new version</h1>
+<h2 id="preparation">Preparation</h2>
+<h3 id="apache-release-documentation">Apache release documentation</h3>
+<p>Please refer to the following link to understand the ASF release
process:</p>
+<ul>
+<li><a href="http://www.apache.org/dev/release-publishing">Apache Release
Guide</a></li>
+<li><a href="http://www.apache.org/dev/release.html">Apache Release
Policy</a></li>
+<li><a
href="http://www.apache.org/dev/publishing-maven-artifacts.html">Publishing
Maven Artifacts</a></li>
+</ul>
+<h3 id="environmental-requirements">Environmental requirements</h3>
+<ul>
+<li>JDK 11</li>
+<li>Apache Maven 3.8+</li>
+<li>GnuPG 2.1+</li>
+<li>Git</li>
+<li>SVN</li>
+</ul>
+<h3 id="gpg-signature">GPG signature</h3>
+<p>Follow the Apache release guidelines, you need the GPG signature to sign
the release version, users can also use this to determine if the downloaded
version has been tampered with.</p>
+<p>Create a pgp key for version signing, use <code><your Apache
ID>@apache.org</code> as the USER-ID for the key.</p>
+<p>For more details, refer to <a
href="https://infra.apache.org/release-signing">Apache Releases Signing
documentation</a>οΌ<a href="http://www.apache.org/dev/openpgp.html">Cryptography
with OpenPGP</a>.</p>
+<p>Brief process for generating a keyοΌ</p>
+<ul>
+<li>Generate a new GPG key using <code>gpg --gen-key</code>, set the key
length to 4096 and set it to never expire</li>
+<li>Upload the key to the public key server using <code>gpg --keyserver
keys.openpgp.org --send-key <your key id></code></li>
+<li>Export the public key to a text file using <code>gpg --armor --export
<your key id> >> gpgapachekey.txt</code></li>
+<li>Obtain the keys of other committers for signing (optional)</li>
+<li>Add the generated key to the KEYS file (uploaded to the svn repository by
the release manager)</li>
+</ul>
+<p>You can follow the steps below to create the GPG key:</p>
+<div class="info">
+ You should replace <code>amoro</code> with your <code>Apache ID</code> in
following guides.
+</div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
gpg --full-gen-key
+</span></span><span style="display:flex;"><span>gpg <span
style="color:#f92672">(</span>GnuPG<span style="color:#f92672">)</span> 2.2.27;
Copyright <span style="color:#f92672">(</span>C<span
style="color:#f92672">)</span> <span style="color:#ae81ff">2021</span> Free
Software Foundation, Inc.
+</span></span><span style="display:flex;"><span>This is free software: you are
free to change and redistribute it.
+</span></span><span style="display:flex;"><span>There is NO WARRANTY, to the
extent permitted by law.
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>Please <span
style="color:#66d9ef">select</span> what kind of key you want:
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">(</span>1<span style="color:#f92672">)</span> RSA and RSA
<span style="color:#f92672">(</span>default<span style="color:#f92672">)</span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">(</span>2<span style="color:#f92672">)</span> DSA and
Elgamal
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">(</span>3<span style="color:#f92672">)</span> DSA <span
style="color:#f92672">(</span>sign only<span style="color:#f92672">)</span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">(</span>4<span style="color:#f92672">)</span> RSA <span
style="color:#f92672">(</span>sign only<span style="color:#f92672">)</span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">(</span>14<span style="color:#f92672">)</span> Existing
key from card
+</span></span><span style="display:flex;"><span>Your selection? <span
style="color:#ae81ff">1</span> <span style="color:#75715e"># Please enter
1</span>
+</span></span><span style="display:flex;"><span>RSA keys may be between <span
style="color:#ae81ff">1024</span> and <span style="color:#ae81ff">4096</span>
bits long.
+</span></span><span style="display:flex;"><span>What keysize <span
style="color:#66d9ef">do</span> you want? <span
style="color:#f92672">(</span>3072<span style="color:#f92672">)</span> <span
style="color:#ae81ff">4096</span> <span style="color:#75715e"># Please enter
4096 here</span>
+</span></span><span style="display:flex;"><span>Requested keysize is <span
style="color:#ae81ff">4096</span> bits
+</span></span><span style="display:flex;"><span>Please specify how long the
key should be valid.
+</span></span><span style="display:flex;"><span>0 <span
style="color:#f92672">=</span> key does not expire
+</span></span><span style="display:flex;"><span><n> <span
style="color:#f92672">=</span> key expires in n days
+</span></span><span style="display:flex;"><span><n>w <span
style="color:#f92672">=</span> key expires in n weeks
+</span></span><span style="display:flex;"><span><n>m <span
style="color:#f92672">=</span> key expires in n months
+</span></span><span style="display:flex;"><span><n>y <span
style="color:#f92672">=</span> key expires in n years
+</span></span><span style="display:flex;"><span>Key is valid <span
style="color:#66d9ef">for</span>? <span style="color:#f92672">(</span>0<span
style="color:#f92672">)</span> <span style="color:#ae81ff">0</span> <span
style="color:#75715e"># Please enter 0</span>
+</span></span><span style="display:flex;"><span>Key does not expire at all
+</span></span><span style="display:flex;"><span>Is this correct? <span
style="color:#f92672">(</span>y/N<span style="color:#f92672">)</span> y <span
style="color:#75715e"># Please enter y here</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GnuPG needs to construct a
user ID to identify your key.
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>Real name: amoro <span
style="color:#75715e"># Please enter 'gpg real name'</span>
+</span></span><span style="display:flex;"><span>Email address:
[email protected] <span style="color:#75715e"># Please enter your apache email
address here</span>
+</span></span><span style="display:flex;"><span>Comment: amoro <span
style="color:#75715e"># Please enter some comments here</span>
+</span></span><span style="display:flex;"><span>You selected this USER-ID:
+</span></span><span style="display:flex;"><span> <span
style="color:#e6db74">"amoro (amoro) <[email protected]>"</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>Change <span
style="color:#f92672">(</span>N<span style="color:#f92672">)</span>ame, <span
style="color:#f92672">(</span>C<span style="color:#f92672">)</span>omment,
<span style="color:#f92672">(</span>E<span style="color:#f92672">)</span>mail
or <span style="color:#f92672">(</span>O<span
style="color:#f92672">)</span>kay/<span style="color:#f92672">(</span>Q<span
style="color:#f92672">)</span>uit? O <span style="color:#75715e"># Please ent
[...]
+</span></span><span style="display:flex;"><span>We need to generate a lot of
random bytes. It is a good idea to perform
+</span></span><span style="display:flex;"><span>some other action <span
style="color:#f92672">(</span>type on the keyboard, move the mouse, utilize the
+</span></span><span style="display:flex;"><span>disks<span
style="color:#f92672">)</span> during the prime generation; this gives the
random number
+</span></span><span style="display:flex;"><span>generator a better chance to
gain enough entropy.
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
At this time, a dialog box will pop up, asking you to enter the key for this
gpg. </span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
you need to remember that it will be used in subsequent steps.</span>
+</span></span><span
style="display:flex;"><span>βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+</span></span><span style="display:flex;"><span>β Please enter this passphrase
to β
+</span></span><span style="display:flex;"><span>β protect your new key
β
+</span></span><span style="display:flex;"><span>β
β
+</span></span><span style="display:flex;"><span>β Passphrase:
_______________________________________ β
+</span></span><span style="display:flex;"><span>β
β
+</span></span><span style="display:flex;"><span>β <OK>
<Cancel> β
+</span></span><span
style="display:flex;"><span>βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Here you need to re-enter the password in the previous step.</span>
+</span></span><span
style="display:flex;"><span>βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+</span></span><span style="display:flex;"><span>β Please re-enter this
passphrase β
+</span></span><span style="display:flex;"><span>β
β
+</span></span><span style="display:flex;"><span>β Passphrase:
_______________________________________ β
+</span></span><span style="display:flex;"><span>β
β
+</span></span><span style="display:flex;"><span>β <OK>
<Cancel> β
+</span></span><span
style="display:flex;"><span>βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+</span></span><span style="display:flex;"><span>gpg: key ACFB69E705016886
marked as ultimately trusted
+</span></span><span style="display:flex;"><span>gpg: revocation certificate
stored as <span
style="color:#e6db74">'/root/.gnupg/openpgp-revocs.d/DC12398CCC33A5349EB9663DF9D970AB18C9EDF6.rev'</span>
+</span></span><span style="display:flex;"><span>public and secret key created
and signed.
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>pub rsa4096 2023-05-01 <span
style="color:#f92672">[</span>SC<span style="color:#f92672">]</span>
+</span></span><span style="display:flex;"><span>
85778A4CE4DD04B7E07813ABACFB69E705016886
+</span></span><span style="display:flex;"><span>uid amoro
<span style="color:#f92672">(</span>amoro<span style="color:#f92672">)</span>
<[email protected]>
+</span></span><span style="display:flex;"><span>sub rsa4096 2023-05-01 <span
style="color:#f92672">[</span>E<span style="color:#f92672">]</span>
+</span></span></code></pre></div><p>Then you can follow the steps below to
upload the GPG key to the public server:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
gpg --keyid-format SHORT --list-keys
+</span></span><span style="display:flex;"><span>/root/.gnupg/pubring.kbx
+</span></span><span style="display:flex;"><span>------------------------
+</span></span><span style="display:flex;"><span>pub rsa4096/05016886
2023-05-01 <span style="color:#f92672">[</span>SC<span
style="color:#f92672">]</span>
+</span></span><span style="display:flex;"><span>
85778A4CE4DD04B7E07813ABACFB69E705016886
+</span></span><span style="display:flex;"><span>uid <span
style="color:#f92672">[</span>ultimate<span style="color:#f92672">]</span>
amoro <span style="color:#f92672">(</span>amoro<span
style="color:#f92672">)</span> <[email protected]>
+</span></span><span style="display:flex;"><span>sub rsa4096/0C5A4E1C
2023-05-01 <span style="color:#f92672">[</span>E<span
style="color:#f92672">]</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Send public key to keyserver via key id</span>
+</span></span><span style="display:flex;"><span>$ gpg --keyserver
keyserver.ubuntu.com --send-key <span style="color:#ae81ff">05016886</span>
<span style="color:#75715e"># send key should be found in the --list-keys
result</span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Among them, keyserver.ubuntu.com is the selected keyserver, it is recommended
to use this, because the Apache Nexus verification uses this keyserver</span>
+</span></span></code></pre></div><p>Check if the key is uploaded
successfully:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
gpg --keyserver keyserver.ubuntu.com --recv-keys <span
style="color:#ae81ff">05016886</span> <span style="color:#75715e"># If the
following content appears, it means success</span>
+</span></span><span style="display:flex;"><span>gpg: key ACFB69E705016886:
<span style="color:#e6db74">"amoro (amoro)
<[email protected]>"</span> not changed
+</span></span><span style="display:flex;"><span>gpg: Total number processed:
<span style="color:#ae81ff">1</span>
+</span></span><span style="display:flex;"><span>gpg: unchanged:
<span style="color:#ae81ff">1</span>
+</span></span></code></pre></div><p>Add the GPG public key to the KEYS file of
the Apache SVN project warehouse:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span style="color:#75715e"># Add public key to
KEYS in dev branch</span>
+</span></span><span style="display:flex;"><span>$ mkdir -p ~/amoro_svn/dev
+</span></span><span style="display:flex;"><span>$ cd ~/amoro_svn/dev
+</span></span><span style="display:flex;"><span>$ svn co
https://dist.apache.org/repos/dist/dev/incubator/amoro
+</span></span><span style="display:flex;"><span>$ cd ~/amoro_svn/dev/amoro
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Append the KEY you generated to the file KEYS, and check if it is added
correctly</span>
+</span></span><span style="display:flex;"><span>$ <span
style="color:#f92672">(</span>gpg --list-sigs [email protected] <span
style="color:#f92672">&&</span> gpg --export --armor
[email protected]<span style="color:#f92672">)</span> >> KEYS
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>$ svn ci -m <span
style="color:#e6db74">"add gpg key for amoro"</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Add public key to KEYS in release branch</span>
+</span></span><span style="display:flex;"><span>$ mkdir -p ~/amoro_svn/release
+</span></span><span style="display:flex;"><span>$ cd ~/amoro_svn/release
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>$ svn co
https://dist.apache.org/repos/dist/release/incubator/amoro/
+</span></span><span style="display:flex;"><span>$ cd ~/amoro_svn/release/amoro
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Append the KEY you generated to the file KEYS, and check if it is added
correctly</span>
+</span></span><span style="display:flex;"><span>$ <span
style="color:#f92672">(</span>gpg --list-sigs [email protected] <span
style="color:#f92672">&&</span> gpg --export --armor
[email protected]<span style="color:#f92672">)</span> >> KEYS
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>$ svn ci -m <span
style="color:#e6db74">"add gpg key for amoro"</span>
+</span></span></code></pre></div><h3 id="maven-settings">Maven settings</h3>
+<p>During the release process, frequent access to your Apache password is
required. To prevent exposure in plaintext storage, we need to encrypt it.</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span style="color:#75715e"># Generate master
password</span>
+</span></span><span style="display:flex;"><span>$ mvn
--encrypt-master-password <apache password>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">{</span>EM+4/TYVDXYHRbkwjjAS3mE1RhRJXJUSG8aIO5RSxuHU26rKCjuS2vG+/wMjz9te<span
style="color:#f92672">}</span>
+</span></span></code></pre></div><p>Create the file
<code>${user.home}/.m2/settings-security.xml</code> and configure the password
created in the previous step:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><settingsSecurity></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><master></span>{EM+4/TYVDXYHRbkwjjAS3mE1RhRJXJUSG8aIO5RSxuHU26rKCjuS2vG+/wMjz9te}<span
style="color:#f92672"></master></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></settingsSecurity></span>
+</span></span></code></pre></div><p>In the maven configuration file
<code>~/.m2/settings.xml</code>, add the following item:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><settings</span> <span
style="color:#a6e22e">xmlns=</span><span
style="color:#e6db74">"http://maven.apache.org/SETTINGS/1.0.0"</span>
+</span></span><span style="display:flex;"><span> <span
style="color:#a6e22e">xmlns:xsi=</span><span
style="color:#e6db74">"http://www.w3.org/2001/XMLSchema-instance"</span>
+</span></span><span style="display:flex;"><span> <span
style="color:#a6e22e">xsi:schemaLocation=</span><span
style="color:#e6db74">"http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd"</span><span
style="color:#f92672">></span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><servers></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><server></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><id></span>apache.snapshots.https<span
style="color:#f92672"></id></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#75715e"><!-- APACHE LDAP UserName --></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><username></span>amoro<span
style="color:#f92672"></username></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#75715e"><!-- APACHE LDAP password (Fill in the password you
just created with the command `mvn --encrypt-password <apache
passphrase>`) --></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><password></span>{/ZLaH78TWboH5IRqNv9pgU4uamuqm9fCIbw0gRWT01c=}<span
style="color:#f92672"></password></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"></server></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><server></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><id></span>apache.releases.https<span
style="color:#f92672"></id></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#75715e"><!-- APACHE LDAP UserName --></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><username></span>amoro<span
style="color:#f92672"></username></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#75715e"><!-- APACHE LDAP password (Fill in the password you
just created with the command `mvn --encrypt-password <apache
passphrase>`) --></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><password></span>{/ZLaH78TWboH5IRqNv9pgU4uamuqm9fCIbw0gRWT01c=}<span
style="color:#f92672"></password></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"></server></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"></servers></span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><profiles></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><profile></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><id></span>apache-release<span
style="color:#f92672"></id></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><properties></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><gpg.keyname></span>05016886<span
style="color:#f92672"></gpg.keyname></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#75715e"><!-- Use an agent: Prevents being asked for the
password during the build --></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><gpg.useagent></span>true<span
style="color:#f92672"></gpg.useagent></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><gpg.passphrase></span>passphrase for your gpg
key<span style="color:#f92672"></gpg.passphrase></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"></properties></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"></profile></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"></profiles></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></settings></span>
+</span></span></code></pre></div><p>Generate the final encrypted password and
add it to the <code>~/.m2/settings.xml</code> file:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
mvn --encrypt-password <apache password>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">{</span>/ZLaH78TWboH5IRqNv9pgU4uamuqm9fCIbw0gRWT01c<span
style="color:#f92672">=}</span>
+</span></span></code></pre></div><h2 id="build-release">Build release</h2>
+<h3 id="cut-the-release-branch">Cut the release branch</h3>
+<p>Cut the release branch if it is not created in the Apache remote
repository, if it already exists, check it out and pull the latest changes.</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
cd <span style="color:#e6db74">${</span>AMORO_SOURCE_HOME<span
style="color:#e6db74">}</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Cut the release branch if it is not created </span>
+</span></span><span style="display:flex;"><span>$ git checkout -b 0.8.x
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Or check it out and pull the latest changes if it is created</span>
+</span></span><span style="display:flex;"><span>$ git checkout 0.8.x
+</span></span><span style="display:flex;"><span>$ git pull apache 0.8.x
+</span></span></code></pre></div><p>Change the project version to the release
version in the <code>tools/change-version.sh</code>:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span
style="display:flex;"><span>OLD<span style="color:#f92672">=</span><span
style="color:#e6db74">"0.8-SNAPSHOT"</span>
+</span></span><span style="display:flex;"><span>NEW<span
style="color:#f92672">=</span><span
style="color:#e6db74">"0.8.0-incubating"</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>HERE<span
style="color:#f92672">=</span><span style="color:#e6db74">`</span> basename
<span style="color:#e6db74">"</span>$PWD<span
style="color:#e6db74">"</span><span style="color:#e6db74">`</span>
+</span></span><span style="display:flex;"><span><span
style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> <span
style="color:#e6db74">"</span>$HERE<span style="color:#e6db74">"</span>
!<span style="color:#f92672">=</span> <span
style="color:#e6db74">"tools"</span> <span
style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
+</span></span><span style="display:flex;"><span> echo <span
style="color:#e6db74">"Please only execute in the tools/
directory"</span>;
+</span></span><span style="display:flex;"><span> exit 1;
+</span></span><span style="display:flex;"><span><span
style="color:#66d9ef">fi</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
change version in all pom files</span>
+</span></span><span style="display:flex;"><span>find .. -name <span
style="color:#e6db74">'pom.xml'</span> -type f -exec perl -pi -e <span
style="color:#e6db74">'s#<version>'</span><span
style="color:#e6db74">"</span>$OLD<span
style="color:#e6db74">"</span><span
style="color:#e6db74">'</version>#<version>'</span><span
style="color:#e6db74">"</span>$NEW<span
style="color:#e6db74">"</span><span style="color:#e6db74">'</versio
[...]
+</span></span></code></pre></div><p>Then run the scripts and commit the
change:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
cd tools
+</span></span><span style="display:flex;"><span>$ bash change-version.sh
+</span></span><span style="display:flex;"><span>$ cd ..
+</span></span><span style="display:flex;"><span>$ git add *
+</span></span><span style="display:flex;"><span>$ git commit -m <span
style="color:#e6db74">"Change project version to
0.8.0-incubating"</span>
+</span></span><span style="display:flex;"><span>$ git push apache 0.8.x
+</span></span></code></pre></div><h3 id="create-the-release-tag">Create the
release tag</h3>
+<p>Create the release tag and push it to the Apache repo:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
git tag -a v0.8.0-rc1 -m <span style="color:#e6db74">"Release Apache Amoro
0.8.0 rc1"</span>
+</span></span><span style="display:flex;"><span>$ git push apache v0.8.0-rc1
+</span></span></code></pre></div><h3
id="build-binary-and-source-release">Build binary and source release</h3>
+<p>Build Amoro binary release with scripts:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
cd <span style="color:#e6db74">${</span>AMORO_SOURCE_HOME<span
style="color:#e6db74">}</span>/tools
+</span></span><span style="display:flex;"><span>$ RELEASE_VERSION<span
style="color:#f92672">=</span>0.8.0-incubating bash
./releasing/create_binary_release.sh
+</span></span></code></pre></div><p>Then build source release with scripts:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
cd <span style="color:#e6db74">${</span>AMORO_SOURCE_HOME<span
style="color:#e6db74">}</span>/tools
+</span></span><span style="display:flex;"><span>$ RELEASE_VERSION<span
style="color:#f92672">=</span>0.8.0-incubating bash
./releasing/create_source_release.sh
+</span></span></code></pre></div><p>Validate the source and binary packages
according to the <a href="../validate-release/">How to validate a new
release</a> guides.
+After that, publish the dev directory of the Apache SVN warehouse of the
material package:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
cd ~/amoro_svn/dev/amoro
+</span></span><span style="display:flex;"><span>$ mkdir 0.8.0-incubating-RC1
+</span></span><span style="display:flex;"><span>$ cp <span
style="color:#e6db74">${</span>AMORO_SOURCE_HOME<span
style="color:#e6db74">}</span>/tools/releasing/release/* 0.8.0-incubating-RC1
+</span></span><span style="display:flex;"><span>$ svn add 0.8.0-incubating-RC1
+</span></span><span style="display:flex;"><span>$ svn commit -m <span
style="color:#e6db74">"Release Apache Amoro 0.8.0 rc1"</span>
+</span></span></code></pre></div><h3 id="release-apache-nexus">Release Apache
Nexus</h3>
+<p>Next, we will publish the required JAR files to the βApache Nexusβ
repository to achieve the final goal of releasing them to the βMaven Central
Repository.</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
cd <span style="color:#e6db74">${</span>$AMORO_SOURCE_HOME<span
style="color:#e6db74">}</span>/tools
+</span></span><span style="display:flex;"><span>$ RELEASE_VERSION<span
style="color:#f92672">=</span>0.8.0-incubating bash
./releasing/deploy_staging_jars.sh
+</span></span></code></pre></div><p>You can visit <a
href="https://repository.apache.org/">https://repository.apache.org/</a> and
log in to check the publishment status. You can find the publishment process in
the <code>Staging Repositories</code> section. You need to close the process
when all jars are publised.</p>
+<h2 id="vote-for-the-new-release">Vote for the new release</h2>
+<p>Next, vote for the new release via email. First complete the vote within
the Amoro community, and upon approval, complete the vote within the Amoro
community in the Incubator community. For detailed voting guidelines, please
refer to <a href="https://www.apache.org/foundation/voting.html">voting
process</a>.</p>
+<h3 id="vote-in-the-amoro-community">Vote in the Amoro community</h3>
+<p>Send a vote email to <code>[email protected]</code> to start the vote
process in Apache Amoro community, you can take <a
href="https://lists.apache.org/thread/22rrpzwtzkby8vnhfvcwzmpfxxz8qhns">[VOTE]
Release Apache Amoro(incubating) 0.8.0-incubating rc3</a> as an example.</p>
+<p>You can validate the source and binary packages according to the <a
href="../validate-release/">How to validate a new release</a> guides and give
your vote resulut. If other developers identify critical issues, you need to
cancel the current vote, wait for the fixes to be implemented, and then restart
the release process with a new release candidate.</p>
+<p>After 72 hours, if there are at least 3 binding votes from Amoro PPMC
members and no votes against, send the result email to celebrate the release of
the version like <a
href="https://lists.apache.org/thread/gokj30ldgh3p5866tw40h41mhdw90whs">[RESULT][VOTE]
Release Apache Amoro(incubating) 0.8.0-incubating rc3</a>.</p>
+<h3 id="vote-in-the-incubator-community">Vote in the Incubator community</h3>
+<p>Send a vote email to <code>[email protected]</code> to start the
vote process in Apache Incubator community, you can take <a
href="https://lists.apache.org/thread/bqj7gohrjwxp5gwycdgh78xmpymfm6jr">[VOTE]
Release Apache Amoro(incubating) 0.8.0-incubating rc3</a> as an example.</p>
+<p>After 72 hours, if there are at least 3 binding votes from IPMC members and
no votes against, send the result email to celebrate the release of the version
like <a
href="https://lists.apache.org/thread/qmvg3tcds0p0pbn05w0mzchm85o581rv">[RESULT][VOTE]
Release Apache Amoro(incubating) 0.8.0-incubating rc3</a>.</p>
+<h2 id="complete-the-final-publishing-steps">Complete the final publishing
steps</h2>
+<h3 id="migrate-source-and-binary-packages">Migrate source and binary
packages</h3>
+<p>Migrate the source and binary packages to the release directory of the
Apache SVN warehouse:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
svn mv
https://dist.apache.org/repos/dist/dev/incubator/amoro/0.8.0-incubating-RC1
https://dist.apache.org/repos/dist/release/incubator/amoro/0.8.0-incubating -m
<span style="color:#e6db74">"Release Apache Amoro
0.8.0-incubating"</span>
+</span></span></code></pre></div><h3
id="publish-releases-in-the-apache-staging-repository">Publish releases in the
Apache Staging repository</h3>
+<ul>
+<li>Log in to <a
href="http://repository.apache.org">http://repository.apache.org</a> , log in
with your Apache account</li>
+<li>Click Staging repositories on the left</li>
+<li>Select your most recently uploaded warehouse, the warehouse specified in
the voting email</li>
+<li>Click the Release button above, this process will perform a series of
checks</li>
+</ul>
+<blockquote>
+<p>It usually takes 24 hours for the warehouse to synchronize to other data
sources</p></blockquote>
+<h3 id="send-announcement-email">Send announcement email</h3>
+<p>Finally, we need to send the announcement email to these mailing lists:
<code>[email protected]</code>, <code>[email protected]</code>.
Here is an example of an announcement email: <a
href="https://lists.apache.org/thread/h3cy8f2mfmp4zms4cs3tq4hdlq64qyw0">[ANNOUNCE]
Apache Amoro (Incubating) 0.8.0-incubating available</a>.</p>
+<p>Congratulations! You have successfully completed all steps of the Apache
Amoro release process. Thank you for your contributions!</p>
+</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="toc" class="markdown-body">
+ <div id="full">
+ <nav id="TableOfContents">
+ <ul>
+ <li><a href="#preparation">Preparation</a>
+ <ul>
+ <li><a href="#apache-release-documentation">Apache release
documentation</a></li>
+ <li><a href="#environmental-requirements">Environmental
requirements</a></li>
+ <li><a href="#gpg-signature">GPG signature</a></li>
+ <li><a href="#maven-settings">Maven settings</a></li>
+ </ul>
+ </li>
+ <li><a href="#build-release">Build release</a>
+ <ul>
+ <li><a href="#cut-the-release-branch">Cut the release branch</a></li>
+ <li><a href="#create-the-release-tag">Create the release tag</a></li>
+ <li><a href="#build-binary-and-source-release">Build binary and source
release</a></li>
+ <li><a href="#release-apache-nexus">Release Apache Nexus</a></li>
+ </ul>
+ </li>
+ <li><a href="#vote-for-the-new-release">Vote for the new release</a>
+ <ul>
+ <li><a href="#vote-in-the-amoro-community">Vote in the Amoro
community</a></li>
+ <li><a href="#vote-in-the-incubator-community">Vote in the Incubator
community</a></li>
+ </ul>
+ </li>
+ <li><a href="#complete-the-final-publishing-steps">Complete the final
publishing steps</a>
+ <ul>
+ <li><a href="#migrate-source-and-binary-packages">Migrate source and
binary packages</a></li>
+ <li><a
href="#publish-releases-in-the-apache-staging-repository">Publish releases in
the Apache Staging repository</a></li>
+ <li><a href="#send-announcement-email">Send announcement email</a></li>
+ </ul>
+ </li>
+ </ul>
+</nav>
+ </div>
+</div>
+
+
+ </div>
+ </div>
+ </section>
+</body>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<script src="https://amoro.apache.org//js/jquery-1.11.0.js"></script>
+
+
+<script src="https://amoro.apache.org//js/jquery.easing.min.js"></script>
+
+
+<script type="text/javascript"
src="https://amoro.apache.org//js/search.js"></script>
+
+
+<script src="https://amoro.apache.org//js/bootstrap.min.js"></script>
+
+
+<script src="https://amoro.apache.org//js/iceberg-theme.js"></script>
+
+
+
+</html>
\ No newline at end of file
diff --git a/output/roadmap/index.html b/output/roadmap/index.html
index 3638daa..71933cc 100644
--- a/output/roadmap/index.html
+++ b/output/roadmap/index.html
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
diff --git a/output/sitemap.xml b/output/sitemap.xml
index edc359f..c81757b 100644
--- a/output/sitemap.xml
+++ b/output/sitemap.xml
@@ -21,6 +21,10 @@
<loc>https://amoro.apache.org/join-community/</loc>
</url><url>
<loc>https://amoro.apache.org/quick-start/</loc>
+ </url><url>
+ <loc>https://amoro.apache.org/release-guide/</loc>
+ </url><url>
+ <loc>https://amoro.apache.org/validate-release/</loc>
</url><url>
<loc>https://amoro.apache.org/roadmap/</loc>
</url><url>
diff --git a/output/benchmark-guide/index.html
b/output/validate-release/index.html
similarity index 55%
copy from output/benchmark-guide/index.html
copy to output/validate-release/index.html
index 3c3f2f5..fcdff0a 100644
--- a/output/benchmark-guide/index.html
+++ b/output/validate-release/index.html
@@ -36,7 +36,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
- <title>How To Benchmark</title>
+ <title>Release Guide</title>
@@ -221,6 +221,14 @@
<a href="/how-to-contribute/">How to
contribute</a>
</li class="topnav-page-selection">
+ <li class="topnav-page-selection">
+ <a href="/release-guide/">Release guide</a>
+ </li class="topnav-page-selection">
+
+ <li class="topnav-page-selection">
+ <a href="/validate-release/">Validate release</a>
+ </li class="topnav-page-selection">
+
</ul>
</div>
</div>
@@ -279,126 +287,78 @@
<div class="grid-container toc-only">
<div id="content" class="markdown-body">
- <div class="margin-for-toc"><h1 id="benchmark-guild">Benchmark
Guild</h1>
-<p>This guilde introduces detailed steps for executing the benchmark to
validate performance of various data lake formats.</p>
-<p>By following the steps in the guild, you can learn about the analytical
performance of different data lake table format. At the same time, you can
flexibly adjust the test scenarios to obtain test results that better suit your
actual scenario.</p>
-<h2 id="deploy-testing-environment">Deploy testing environment</h2>
-<h3 id="deploy-by-docker">Deploy by Docker</h3>
-<p>With <a href="https://docs.docker.com/compose/">Docker-Compose</a>, you can
quickly set up an environment for performing the benchmark.
-The detailed steps reference: <a
href="https://github.com/NetEase/lakehouse-benchmark/tree/master/docker/benchmark">Lakehouse-benchmark</a>.</p>
-<h3 id="deploy-manually">Deploy manually</h3>
-<p>Alternatively, you can manually deploy the following components to set up
the test environmentοΌ</p>
-<table>
- <thead>
- <tr>
- <th style="text-align: left">Component</th>
- <th style="text-align: left">Version</th>
- <th style="text-align: left">Description</th>
- <th style="text-align: left">Installation Guide</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="text-align: left">MySQL</td>
- <td style="text-align: left">5.7+</td>
- <td style="text-align: left">MySQL is used to generate TPC-C data
for synchronization to data lakes.</td>
- <td style="text-align: left"><a
href="https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/">MySQL
Installation Guide</a></td>
- </tr>
- <tr>
- <td style="text-align: left">Hadoop</td>
- <td style="text-align: left">2.3.7+</td>
- <td style="text-align: left">Hadoop is used to provide the storage
for data lakes.</td>
- <td style="text-align: left"><a
href="https://ambari.apache.org/">Ambari</a></td>
- </tr>
- <tr>
- <td style="text-align: left">Trino</td>
- <td style="text-align: left">380</td>
- <td style="text-align: left">Trino is used to execute TPC-H queries
for Iceberg and Mixed-Iceberg format tables.</td>
- <td style="text-align: left"><a
href="https://trino.io/docs/current/installation/deployment.html">Trino
Installation Guide</a></td>
- </tr>
- <tr>
- <td style="text-align: left">Amoro Trino Connector</td>
- <td style="text-align: left">0.4.0</td>
- <td style="text-align: left">To query Mixed-Iceberg Format tables in
Trino, you need to install and configure the Amoro connector in Trino.</td>
- <td style="text-align: left"><a
href="https://amoro.netease.com/docs/latest/trino/">Amoro Trino
Connector</a></td>
- </tr>
- <tr>
- <td style="text-align: left">Iceberg Trino Connector</td>
- <td style="text-align: left">0.13.0</td>
- <td style="text-align: left">To query Iceberg Format tables in
Trino, you need to install and configure the Iceberg connector in Trino.</td>
- <td style="text-align: left"><a
href="https://trino.io/docs/current/connector/iceberg.html">Iceberg Trino
Connector</a></td>
- </tr>
- <tr>
- <td style="text-align: left">Presto</td>
- <td style="text-align: left">274</td>
- <td style="text-align: left">Presto is used to execute TPC-H queries
for Hudi format tables.</td>
- <td style="text-align: left"><a
href="https://prestodb.io/docs/current/installation/deployment.html">Presto
Installation Guide</a></td>
- </tr>
- <tr>
- <td style="text-align: left">Hudi Presto Connector</td>
- <td style="text-align: left">0.11.1</td>
- <td style="text-align: left">To query Iceberg Format tables in
Trino, you need to install and configure the Iceberg connector in Presto.</td>
- <td style="text-align: left"><a
href="https://prestodb.io/docs/current/connector/hudi.html">Hudi Presto
Connector</a></td>
- </tr>
- <tr>
- <td style="text-align: left">AMS</td>
- <td style="text-align: left">0.4.0</td>
- <td style="text-align: left">Amoro Management Service, support
self-optimizing on tables during the test.</td>
- <td style="text-align: left"><a
href="https://amoro.netease.com/docs/latest/deployment/">AMS Installation
Guide</a></td>
- </tr>
- <tr>
- <td style="text-align: left">data-lake-benchmark</td>
- <td style="text-align: left">21</td>
- <td style="text-align: left">The core program of Benchmark which is
responsible for generating test data, executing the testing process, and
generating test results.</td>
- <td style="text-align: left"><a
href="https://github.com/NetEase/data-lake-benchmark#readme">Data Lake
Benchmark</a></td>
- </tr>
- <tr>
- <td style="text-align: left">lakehouse-benchmark-ingestion</td>
- <td style="text-align: left">1.0</td>
- <td style="text-align: left">Data synchronization tool based on
Flink-CDC which can synchronize data from database to data lake in
real-time.</td>
- <td style="text-align: left"><a
href="https://github.com/NetEase/lakehouse-benchmark-ingestion">Lakehouse
Benchmark Ingestion</a></td>
- </tr>
- </tbody>
-</table>
-<h2 id="benchmark-steps">Benchmark steps</h2>
-<ol>
-<li>
-<p>Configure the configuration file
<code>config/mysql/sample_chbenchmark_config.xml</code> file of program
<code>data-lake-benchmark</code>. Fill in the information of MySQL and
parameter <code>scalefactor</code>. <code>scalefactor</code> represents the
number of warehouses, which controls the overall data volume. Generally, choose
10 or 100.</p>
-</li>
-<li>
-<p>Generate static data into MySQL with commandοΌ</p>
-</li>
-</ol>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span>java -jar lakehouse-benchmark.jar -b
tpcc,chbenchmark -c config/mysql/sample_chbenchmark_config.xml --create<span
style="color:#f92672">=</span>true --load<span
style="color:#f92672">=</span>true
-</span></span></code></pre></div><ol start="3">
-<li>
-<p>Configure the configuration file <code>config/ingestion-conf.yaml</code>
file of program <code>lakehouse-benchmark-ingestion</code>. Fill in the
information of MySQL.</p>
-</li>
-<li>
-<p>Start the ingestion job to synchronize data form MySQL to data lake tables
witch command:</p>
-</li>
-</ol>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span>java -cp
lakehouse-benchmark-ingestion-1.0-SNAPSHOT.jar
com.netease.arctic.benchmark.ingestion.MainRunner -confDir <span
style="color:#f92672">[</span>confDir<span style="color:#f92672">]</span>
-sinkType <span style="color:#f92672">[</span>arctic/iceberg/hudi<span
style="color:#f [...]
-</span></span></code></pre></div><ol start="5">
-<li>Execute TPC-H benchmark on static data with command:</li>
-</ol>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span>java -jar lakehouse-benchmark.jar -b
chbenchmarkForTrino -c config/trino/trino_chbenchmark_config.xml --create<span
style="color:#f92672">=</span>false --load<span
style="color:#f92672">=</span>false --execute<span
style="color:#f92672">=</span>true
-</span></span></code></pre></div><ol start="6">
-<li>Execute TPC-C program to continuously write data into MYSQL witch
command:</li>
-</ol>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span>java -jar lakehouse-benchmark.jar -b
tpcc,chbenchmark -c config/mysql/sample_chbenchmark_config.xml --execute<span
style="color:#f92672">=</span>true -s <span style="color:#ae81ff">5</span>
-</span></span></code></pre></div><ol start="7">
-<li>Execute TPC-H benchmark on dynamic data with command:</li>
-</ol>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span>java -jar lakehouse-benchmark.jar -b
chbenchmarkForTrino -c config/trino/trino_chbenchmark_config.xml --create<span
style="color:#f92672">=</span>false --load<span
style="color:#f92672">=</span>false --execute<span
style="color:#f92672">=</span>true
-</span></span></code></pre></div><ol start="8">
-<li>
-<p>Obtain the benchmark results in the <code>result</code> directory of the
<code>data-lake-benchmark</code> project.</p>
-</li>
-<li>
-<p>Repeat step 7 to obtain benchmark results for different points in time.</p>
-</li>
-</ol>
+ <div class="margin-for-toc"><h1
id="how-to-validate-a-new-release">How to validate a new release</h1>
+<h2 id="download-candidate">Download candidate</h2>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span style="color:#75715e"># If there is svn
locally, you can clone to the local</span>
+</span></span><span style="display:flex;"><span>$ svn co
https://dist.apache.org/repos/dist/dev/incubator/amoro/<span
style="color:#e6db74">${</span>release_version<span
style="color:#e6db74">}</span>-<span
style="color:#e6db74">${</span>rc_version<span style="color:#e6db74">}</span>/
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
or download the material file directly</span>
+</span></span><span style="display:flex;"><span>$ wget
https://dist.apache.org/repos/dist/dev/incubator/amoro/<span
style="color:#e6db74">${</span>release_version<span
style="color:#e6db74">}</span>-<span
style="color:#e6db74">${</span>rc_version<span style="color:#e6db74">}</span>/
+</span></span></code></pre></div><h2 id="validate-candidate">validate
candidate</h2>
+<h3 id="check-gpg-signature">Check GPG signature</h3>
+<p>Download the KEYS and import it:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
curl https://downloads.apache.org/incubator/amoro/KEYS > KEYS <span
style="color:#75715e"># Download KEYS</span>
+</span></span><span style="display:flex;"><span>$ gpg --import KEYS <span
style="color:#75715e"># Import KEYS to local</span>
+</span></span></code></pre></div><p>Trust the KEY used in this version:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
gpg --edit-key xxxxxxxxxx <span style="color:#75715e">#KEY user used in this
version</span>
+</span></span><span style="display:flex;"><span>gpg <span
style="color:#f92672">(</span>GnuPG<span style="color:#f92672">)</span> 2.2.21;
Copyright <span style="color:#f92672">(</span>C<span
style="color:#f92672">)</span> <span style="color:#ae81ff">2020</span> Free
Software Foundation, Inc.
+</span></span><span style="display:flex;"><span>This is free software: you are
free to change and redistribute it.
+</span></span><span style="display:flex;"><span>There is NO WARRANTY, to the
extent permitted by law.
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>Secret key is available.
+</span></span><span style="display:flex;"><span>gpg> trust <span
style="color:#75715e">#trust</span>
+</span></span><span style="display:flex;"><span>Please decide how far you
trust this user to correctly verify other users<span
style="color:#e6db74">' keys
+</span></span></span><span style="display:flex;"><span><span
style="color:#e6db74">(by looking at passports, checking fingerprints from
different sources, etc.)
+</span></span></span><span style="display:flex;"><span><span
style="color:#e6db74">
+</span></span></span><span style="display:flex;"><span><span
style="color:#e6db74"> 1 = I don'</span>t know or won<span
style="color:#960050;background-color:#1e0010">'</span>t say
+</span></span><span style="display:flex;"><span> 2 <span
style="color:#f92672">=</span> I <span style="color:#66d9ef">do</span> NOT trust
+</span></span><span style="display:flex;"><span> 3 <span
style="color:#f92672">=</span> I trust marginally
+</span></span><span style="display:flex;"><span> 4 <span
style="color:#f92672">=</span> I trust fully
+</span></span><span style="display:flex;"><span> 5 <span
style="color:#f92672">=</span> I trust ultimately
+</span></span><span style="display:flex;"><span> m <span
style="color:#f92672">=</span> back to the main menu
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>Your decision? <span
style="color:#ae81ff">5</span> <span style="color:#75715e">#choose 5</span>
+</span></span><span style="display:flex;"><span>Do you really want to set this
key to ultimate trust? <span style="color:#f92672">(</span>y/N<span
style="color:#f92672">)</span> y <span style="color:#75715e">#choose y</span>
+</span></span></code></pre></div><p>Check the gpg signature:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
<span style="color:#66d9ef">for</span> i in *.tar.gz; <span
style="color:#66d9ef">do</span> echo $i; gpg --verify $i.asc $i; <span
style="color:#66d9ef">done</span>
+</span></span></code></pre></div><h3 id="check-sha512-hash">Check sha512
hash</h3>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span style="color:#75715e"># Command for
Linux</span>
+</span></span><span style="display:flex;"><span>$ <span
style="color:#66d9ef">for</span> i in *.tar.gz; <span
style="color:#66d9ef">do</span> echo $i; sha512sum --check $i.sha512; <span
style="color:#66d9ef">done</span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Command for MacOS</span>
+</span></span><span style="display:flex;"><span>$ <span
style="color:#66d9ef">for</span> i in *.tar.gz; <span
style="color:#66d9ef">do</span> echo $i; shasum -a <span
style="color:#ae81ff">512</span> -c $i.sha512; <span
style="color:#66d9ef">done</span>
+</span></span></code></pre></div><h3 id="check-the-binary-package">Check the
binary package</h3>
+<p>Unzip the binary pakcages:
<code>apache-amoro-${AMORO_VERSION}-bin-${HADOOP_VERSION}.tar.gz</code>:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span style="color:#75715e"># Hadoop2</span>
+</span></span><span style="display:flex;"><span>$ tar -xzvf
apache-amoro-0.8.0-incubating-bin-hadoop2.tar.gz
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Hadoop3 </span>
+</span></span><span style="display:flex;"><span>$ tar -xzvf
apache-amoro-0.8.0-incubating-bin-hadoop3.tar.gz
+</span></span></code></pre></div><p>check as follows:</p>
+<ul>
+<li>Check whether the package contains unnecessary files, which makes the tar
package too large</li>
+<li>Folder contains the word incubating</li>
+<li>There are LICENSE and NOTICE files</li>
+<li>There is a DISCLAIMER file</li>
+<li>Check for extra files or folders, such as empty folders, etc.</li>
+</ul>
+<h3 id="check-the-source-package">Check the source package</h3>
+<p>Unzip the binary pakcages:
<code>apache-amoro-${AMORO_VERSION}-src.tar.gz</code>:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span style="display:flex;"><span>$
tar -xzvf apache-amoro-0.8.0-incubating-src.tar.gz
+</span></span></code></pre></div><p>Check as follows:</p>
+<ul>
+<li>There are LICENSE and NOTICE files</li>
+<li>There is a DISCLAIMER file</li>
+<li>All source files have ASF license at the beginning</li>
+<li>Only source files exist, not binary files</li>
+</ul>
+<p>Compile from source:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-shell" data-lang="shell"><span
style="display:flex;"><span><span style="color:#75715e"># Compile from
source</span>
+</span></span><span style="display:flex;"><span>$ mvn clean package
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#75715e">#
Or skip the unit test</span>
+</span></span><span style="display:flex;"><span>$ mvn clean package -DskipTests
+</span></span></code></pre></div><h2 id="vote-for-the-release">vote for the
release</h2>
+<p>If all verifications pass, please vote +1 for the new release! If you find
any critical issues, pleaste vote -1 for it.
+Thanks a lot for your work!</p>
</div>
@@ -420,13 +380,16 @@ The detailed steps reference: <a
href="https://github.com/NetEase/lakehouse-benc
<div id="full">
<nav id="TableOfContents">
<ul>
- <li><a href="#deploy-testing-environment">Deploy testing environment</a>
+ <li><a href="#download-candidate">Download candidate</a></li>
+ <li><a href="#validate-candidate">validate candidate</a>
<ul>
- <li><a href="#deploy-by-docker">Deploy by Docker</a></li>
- <li><a href="#deploy-manually">Deploy manually</a></li>
+ <li><a href="#check-gpg-signature">Check GPG signature</a></li>
+ <li><a href="#check-sha512-hash">Check sha512 hash</a></li>
+ <li><a href="#check-the-binary-package">Check the binary
package</a></li>
+ <li><a href="#check-the-source-package">Check the source
package</a></li>
</ul>
</li>
- <li><a href="#benchmark-steps">Benchmark steps</a></li>
+ <li><a href="#vote-for-the-release">vote for the release</a></li>
</ul>
</nav>
</div>