blob: b1c034ff6fc523c0c35f513329624c9921f68317 [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-community docs-doc-id-how-to-release">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">How to Release | Apache InLong</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://inlong.apache.org/community/how-to-release"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-community-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-community-current"><meta data-rh="true" property="og:title" content="How to Release | Apache InLong"><meta data-rh="true" name="description" content="This article mainly introduces how to release a new version for Apache InLong in accordance with the Apache requirements. For more guideline, you can refer the following links:"><meta data-rh="true" property="og:description" content="This article mainly introduces how to release a new version for Apache InLong in accordance with the Apache requirements. For more guideline, you can refer the following links:"><link data-rh="true" rel="icon" href="/img/logo.svg"><link data-rh="true" rel="canonical" href="https://inlong.apache.org/community/how-to-release"><link data-rh="true" rel="alternate" href="https://inlong.apache.org/community/how-to-release" hreflang="en"><link data-rh="true" rel="alternate" href="https://inlong.apache.org/zh-CN/community/how-to-release" hreflang="zh-CN"><link data-rh="true" rel="alternate" href="https://inlong.apache.org/community/how-to-release" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://YUW9QEL53E-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache InLong RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache InLong Atom Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Apache InLong" href="/opensearch.xml">
<script src="https://www.apachecon.com/event-images/snippet.js" async></script><link rel="stylesheet" href="/assets/css/styles.c64edd51.css">
<link rel="preload" href="/assets/js/runtime~main.63c98e82.js" as="script">
<link rel="preload" href="/assets/js/main.070aef2a.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Apache" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/logo.svg" alt="Apache" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Apache InLong</b></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/docs/introduction">Docs</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/next/introduction">Next</a></li><li><a class="dropdown__link" href="/docs/introduction">1.11.0</a></li><li><a class="dropdown__link" href="/docs/1.10.0/introduction">1.10.0</a></li><li><a class="dropdown__link" href="/docs/1.9.0/introduction">1.9.0</a></li><li><a class="dropdown__link" href="/docs/1.8.0/introduction">1.8.0</a></li><li><a class="dropdown__link" href="/versions/">All versions</a></li></ul></div><a class="navbar__item navbar__link" href="/downloads">Download</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/community/how-to-contribute">Community</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/team">Team</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">ASF</a><ul class="dropdown__menu"><li><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Apache Software Foundation</a></li><li><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="dropdown__link">License</a></li><li><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="dropdown__link">Events</a></li><li><a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Security</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Sponsorship</a></li><li><a href="https://www.apache.org/foundation/policies/privacy.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Privacy</a></li><li><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Thanks</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>English</a><ul class="dropdown__menu"><li><a href="/community/how-to-release" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="en">English</a></li><li><a href="/zh-CN/community/how-to-release" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh-CN">简体中文</a></li></ul></div><a href="https://github.com/apache/inlong" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-contribute">How to Contribute</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-commit">How to Commit</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-subscribe">How to Subscribe Mail List</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-become-a-committer">How to Become a Committer or PMC</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-vote-a-committer-pmc">How to Vote a Committer or PMC Member</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/community/how-to-release">How to Release</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-verify">How to Verify Release Candidate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-report-issues">How to Report Issues</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/how-to-maintain-3rd-party-dependencies">How to Maintain Third-party Dependencies</a></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">How to Release</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>How to Release</h1></header><p>This article mainly introduces how to release a new version for Apache InLong in accordance with the Apache requirements. For more guideline, you can refer the following links:</p><ul><li><a href="https://infra.apache.org/release-publishing.html" target="_blank" rel="noopener noreferrer">ASF Release Creation Process</a></li><li><a href="https://www.apache.org/legal/release-policy.html" target="_blank" rel="noopener noreferrer">ASF Release Policy</a></li></ul><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_S0QG"><p>For binary distribution packages, it is necessary to check that the new version does not contain third-party dependencies of class x, including direct reference and indirect reference parts.</p></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="add-gpg-key">Add GPG Key<a href="#add-gpg-key" class="hash-link" aria-label="Direct link to Add GPG Key" title="Direct link to Add GPG Key"></a></h2><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_S0QG"><p>This section is refer to <a href="https://infra.apache.org/openpgp.html" target="_blank" rel="noopener noreferrer">Cryptography with OpenPGP</a>, <strong> only for release manager who is the first time to release. </strong></p></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="install-gpg">Install GPG<a href="#install-gpg" class="hash-link" aria-label="Direct link to Install GPG" title="Direct link to Install GPG"></a></h3><p>For more details, please ref to <a href="https://www.gnupg.org/download/index.html" target="_blank" rel="noopener noreferrer">Official website</a>, configurations under Mac OS:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ brew </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> gpg</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># check the version, should be 2.x</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ gpg --version</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="generate-gpg-key">Generate GPG Key<a href="#generate-gpg-key" class="hash-link" aria-label="Direct link to Generate GPG Key" title="Direct link to Generate GPG Key"></a></h3><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_S0QG"><ul><li>Name is best to keep consistent with your full name of Apache ID</li><li>The mailbox used is apache. It is recommended that pg -k view all the Key ID. If the first one is not the Key ID of the apache mailbox, if you need to specify the Key ID in the step for encryption operation, the parameter is -u</li><li>Make sure that there is only one key, and delete the keys of other spare mailboxes first</li><li>Name is best to only use English to avoid garbled</li></ul></div></div><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ gpg --full-gen-key</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">gpg </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">GnuPG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token number">2.2</span><span class="token plain">.20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> Copyright </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">C</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token number">2020</span><span class="token plain"> Free Software Foundation, Inc.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">This is </span><span class="token function" style="color:rgb(80, 250, 123)">free</span><span class="token plain"> software: you are </span><span class="token function" style="color:rgb(80, 250, 123)">free</span><span class="token plain"> to change and redistribute it.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">There is NO WARRANTY, to the extent permitted by law.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Please </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">select</span><span class="token plain"> what kind of key you want:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> RSA and RSA </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">default</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> DSA and Elgamal</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> DSA </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">sign only</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">4</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> RSA </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">sign only</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">14</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> Existing key from card</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Your selection? </span><span class="token number">1</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># input 1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">RSA keys may be between </span><span class="token number">1024</span><span class="token plain"> and </span><span class="token number">4096</span><span class="token plain"> bits long.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">What keysize </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">do</span><span class="token plain"> you want? </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2048</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token number">4096</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># input 4096</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Requested keysize is </span><span class="token number">4096</span><span class="token plain"> bits </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Please specify how long the key should be valid.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token number">0</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> key does not expire</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token operator">&lt;</span><span class="token plain">n</span><span class="token operator">&gt;</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> key expires </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"> n days</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token operator">&lt;</span><span class="token plain">n</span><span class="token operator">&gt;</span><span class="token plain">w </span><span class="token operator">=</span><span class="token plain"> key expires </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"> n weeks</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token operator">&lt;</span><span class="token plain">n</span><span class="token operator">&gt;</span><span class="token plain">m </span><span class="token operator">=</span><span class="token plain"> key expires </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"> n months</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token operator">&lt;</span><span class="token plain">n</span><span class="token operator">&gt;</span><span class="token plain">y </span><span class="token operator">=</span><span class="token plain"> key expires </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"> n years</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Key is valid for? </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token number">0</span><span class="token plain"> </span><span class="token comment" style="color:rgb(98, 114, 164)"># input 0</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Key does not expire at all</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Is this correct? </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">y/N</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> y </span><span class="token comment" style="color:rgb(98, 114, 164)"># input y</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">GnuPG needs to construct a user ID to identify your key.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Real name: Guangxu Cheng </span><span class="token comment" style="color:rgb(98, 114, 164)"># input your name</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Email address: gxcheng@apache.org </span><span class="token comment" style="color:rgb(98, 114, 164)"># input your emal</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Comment: </span><span class="token comment" style="color:rgb(98, 114, 164)"># input some annotations, optional</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">You selected this </span><span class="token environment constant" style="color:rgb(189, 147, 249)">USER</span><span class="token plain">-ID:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;Guangxu Cheng &lt;gxcheng@apache.org&gt;&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Change </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">N</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">ame, </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">C</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">omment, </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">mail or </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">O</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">kay/</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">Q</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain">uit? O </span><span class="token comment" style="color:rgb(98, 114, 164)"># input 0</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">We need to generate a lot of random bytes. It is a good idea to perform</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">some other action </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">type on the keyboard, move the mouse, utilize the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">disks</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> during the prime generation</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> this gives the random number</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">generator a better chance to gain enough entropy.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">We need to generate a lot of random bytes. It is a good idea to perform</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">some other action </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">type on the keyboard, move the mouse, utilize the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">disks</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> during the prime generation</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> this gives the random number</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">generator a better chance to gain enough entropy.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Input the security key</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">┌──────────────────────────────────────────────────────┐</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ Please enter this passphrase │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ Passphrase: _______________________________ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token operator">&lt;</span><span class="token plain">OK</span><span class="token operator">&gt;</span><span class="token plain"> </span><span class="token operator">&lt;</span><span class="token plain">Cancel</span><span class="token operator">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">└──────────────────────────────────────────────────────┘</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># key generatio[n will be done after your inputting the key with the following output</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">gpg: key 2DD587E7B10F3B1F marked as ultimately trusted</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">gpg: revocation certificate stored as </span><span class="token string" style="color:rgb(255, 121, 198)">&#x27;/Users/cheng/.gnupg/openpgp-revocs.d/41936314E25F402D5F7D73152DD587E7B10F3B1F.rev&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">public and secret key created and signed.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">pub rsa4096 </span><span class="token number">2020</span><span class="token plain">-05-19 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">SC</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> 41936314E25F402D5F7D73152DD587E7B10F3B1F</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">uid Guangxu Cheng </span><span class="token operator">&lt;</span><span class="token plain">gxcheng@apache.org</span><span class="token operator">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">sub rsa4096 </span><span class="token number">2020</span><span class="token plain">-05-19 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="upload-your-key-to-public-gpg-keyserver">Upload your key to public GPG keyserver<a href="#upload-your-key-to-public-gpg-keyserver" class="hash-link" aria-label="Direct link to Upload your key to public GPG keyserver" title="Direct link to Upload your key to public GPG keyserver"></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ gpg --list-keys </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">-------------------------------</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">pub rsa4096 </span><span class="token number">2020</span><span class="token plain">-05-18 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">SC</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> 5931F8CFD04B37A325E4465D8C0D31C4149B3A87</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">uid </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">ultimate</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> Guangxu Cheng </span><span class="token operator">&lt;</span><span class="token plain">gxcheng@apache.org</span><span class="token operator">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">sub rsa4096 </span><span class="token number">2020</span><span class="token plain">-05-18 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">E</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># command for sending your key id to key server</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ gpg --keyserver pgpkeys.mit.edu --send-key </span><span class="token operator">&lt;</span><span class="token plain">key id</span><span class="token operator">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Among them, the keyserver list is: https://sks-keyservers.net/status/, which is automatically synchronized with each other, you can choose any one of them.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="check-whether-the-gpg-key-is-created-successfully">Check whether the GPG Key is created successfully<a href="#check-whether-the-gpg-key-is-created-successfully" class="hash-link" aria-label="Direct link to Check whether the GPG Key is created successfully" title="Direct link to Check whether the GPG Key is created successfully"></a></h3><p>Uploading takes about one minute, after that, you can check it by your email at <code>https://pgpkeys.mit.edu/</code>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="upload-the-gpg-public-key-to-svn-repo">Upload the GPG public key to SVN repo<a href="#upload-the-gpg-public-key-to-svn-repo" class="hash-link" aria-label="Direct link to Upload the GPG public key to SVN repo" title="Direct link to Upload the GPG public key to SVN repo"></a></h3><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_S0QG"><p>The svn repository of the DEV branch is: <a href="https://dist.apache.org/repos/dist/dev/inlong" target="_blank" rel="noopener noreferrer">https://dist.apache.org/repos/dist/dev/inlong</a></p><p>The svn repository of the Release branch is: <a href="https://dist.apache.org/repos/dist/release/inlong" target="_blank" rel="noopener noreferrer">https://dist.apache.org/repos/dist/release/inlong</a></p><p>Please ensure that the <code>key</code> you added to <code>dev</code> and <code>release</code> branches is the same.</p></div></div><ul><li>Add the public key to KEYS in the dev branch to release the RC version</li></ul><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># As this step will copy all the versions, it will take some time. If the network is broken, please use svn cleanup to delete the lock before re-execute it.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn co https://dist.apache.org/repos/dist/dev/inlong /tmp/inlong-dist-dev</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> inlong-dist-dev</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># # Append your key to the KEYS file</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">gpg --list-sigs </span><span class="token operator">&lt;</span><span class="token plain">key id</span><span class="token operator">&gt;</span><span class="token plain"> </span><span class="token operator">&amp;&amp;</span><span class="token plain"> gpg --armor --export </span><span class="token operator">&lt;</span><span class="token plain">key id</span><span class="token operator">&gt;</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">&gt;&gt;</span><span class="token plain"> KEYS </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Later on, if you are asked to enter a username and password, just use your apache username and password.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn ci -m </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;add gpg key for YOUR_NAME&quot;</span><span class="token plain"> </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ul><li>Add the public key to the KEYS in the release branch for releasing official version</li></ul><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn co https://dist.apache.org/repos/dist/release/inlong /tmp/inlong-dist-release</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> inlong-dist-release</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">gpg --list-sigs </span><span class="token operator">&lt;</span><span class="token plain">key id</span><span class="token operator">&gt;</span><span class="token plain"> </span><span class="token operator">&amp;&amp;</span><span class="token plain"> gpg --armor --export </span><span class="token operator">&lt;</span><span class="token plain">key id</span><span class="token operator">&gt;</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">&gt;&gt;</span><span class="token plain"> KEYS </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn ci -m </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;add gpg key for YOUR_NAME&quot;</span><span class="token plain"> </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="upload-the-gpg-public-key-to-your-github-account">Upload the GPG public key to your Github account<a href="#upload-the-gpg-public-key-to-your-github-account" class="hash-link" aria-label="Direct link to Upload the GPG public key to your Github account" title="Direct link to Upload the GPG public key to your Github account"></a></h3><p> Enter <a href="https://github.com/settings/keys" target="_blank" rel="noopener noreferrer">https://github.com/settings/keys</a> to add GPG KEYS. Please bind the email address used in the GPG key to your <a href="https://github.com/settings/emails" target="_blank" rel="noopener noreferrer">GitHub account</a>, if you find &quot;unverified&quot; after adding it.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="maven-settings">Maven settings<a href="#maven-settings" class="hash-link" aria-label="Direct link to Maven settings" title="Direct link to Maven settings"></a></h2><p>Adding <code>&lt;servers&gt;/&lt;profiles&gt;</code> configurations in your maven <code>settings.xml</code> with correct values:</p><div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">servers</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">server</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">id</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">apache.snapshots.https</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">id</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">username</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">{Your Apache ID}</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">username</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">password</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">{Your Apache Password}</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">password</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">server</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">server</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">id</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">apache.releases.https</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">id</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">username</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">{Your Apache ID}</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">username</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">password</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">{Your Apache Password}</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">password</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">server</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">servers</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">profiles</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">profile</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">id</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">apache-release</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">id</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">properties</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">gpg.keyname</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">{Your GPG Key ID}</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">gpg.keyname</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">gpg.useagent</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">true</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">gpg.useagent</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;</span><span class="token tag" style="color:rgb(255, 121, 198)">gpg.passphrase</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain">{Password for you GPG key}</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">gpg.passphrase</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">properties</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">profile</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&lt;/</span><span class="token tag" style="color:rgb(255, 121, 198)">profiles</span><span class="token tag punctuation" style="color:rgb(248, 248, 242)">&gt;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="build">Build<a href="#build" class="hash-link" aria-label="Direct link to Build" title="Direct link to Build"></a></h2><p>The following <code>release_version</code> is the upcoming release number, such as 1.6.0; <code>rc_version</code> is Release Candidate, such as RC0, RC1...; <code>KEY_ID</code> is your GPG Key ID.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="prepare-branch">Prepare branch<a href="#prepare-branch" class="hash-link" aria-label="Direct link to Prepare branch" title="Direct link to Prepare branch"></a></h3><ul><li><p>Modify the POM version number and CHANGES.md, and create the <strong>release branch</strong> from the <strong>main version branch</strong> and . For example, create <code>release-1.6.0</code> from <code>branch-1.6</code>.
<img loading="lazy" src="/assets/images/branch-1532ab6c4eef59264af6b49c358aface.png" width="781" height="408" class="img_ev3q"></p></li><li><p>check the code for release branch, including whether compile, unit test, RAT check, Docker images etc.</p></li></ul><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># switch to release branch</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> checkout release-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># build check</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ mvn clean package -Dmaven.javadoc.skip</span><span class="token operator">=</span><span class="token plain">true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># RAT check</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ mvn apache-rat:check</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Docker images</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ mvn clean package -DskipTests -Pdocker</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_S0QG"><p>Make sure code check is pass before executing next step, including compile success, unit test pass, RAT check pass etc.</p></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-tag">create tag<a href="#create-tag" class="hash-link" aria-label="Direct link to create tag" title="Direct link to create tag"></a></h3><p>Create a tag with annotation:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">git_tag</span><span class="token operator">=</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">GPG_TTY</span><span class="token operator">=</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">`</span><span class="token variable function" style="color:rgb(80, 250, 123);font-style:italic">tty</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">`</span><span class="token plain"> </span><span class="token operator">&amp;&amp;</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> config user.signingkey </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${KEY_ID}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> tag -s </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$git_tag</span><span class="token plain"> -m </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;Tagging the </span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token string" style="color:rgb(255, 121, 198)"> first Releae Candidate (Candidates start at zero)&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="building-source-code-package">Building source code package<a href="#building-source-code-package" class="hash-link" aria-label="Direct link to Building source code package" title="Direct link to Building source code package"></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">mkdir</span><span class="token plain"> /tmp/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> archive --format</span><span class="token operator">=</span><span class="token plain">tar.gz --output</span><span class="token operator">=</span><span class="token string" style="color:rgb(255, 121, 198)">&quot;/tmp/apache-inlong-</span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token string" style="color:rgb(255, 121, 198)">-</span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token string" style="color:rgb(255, 121, 198)">/apache-inlong-</span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token string" style="color:rgb(255, 121, 198)">-src.tar.gz&quot;</span><span class="token plain"> --prefix</span><span class="token operator">=</span><span class="token string" style="color:rgb(255, 121, 198)">&quot;apache-inlong-</span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token string" style="color:rgb(255, 121, 198)">/&quot;</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$git_tag</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="upload-tag-to-git-repository">Upload tag to git repository<a href="#upload-tag-to-git-repository" class="hash-link" aria-label="Direct link to Upload tag to git repository" title="Direct link to Upload tag to git repository"></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># under the directory where you create the tag</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> push origin release-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> push origin </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="building-binary-package">Building binary package<a href="#building-binary-package" class="hash-link" aria-label="Direct link to Building binary package" title="Direct link to Building binary package"></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># go to directory where the source code package stay</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> /tmp/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain"> </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># uncompress the tar file</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">tar</span><span class="token plain"> xzvf apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-src.tar.gz </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># go to the source code directory</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># build binary package</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ mvn compile clean </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> package -DskipTests</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># for signature convenient, copy the binary package to the source code directory</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">cp</span><span class="token plain"> ./inlong-distribution/target/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-bin.tar.gz /tmp/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain">/</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="sign-the-source-packagebinary-packagesha512">Sign the source package/binary package/sha512<a href="#sign-the-source-packagebinary-packagesha512" class="hash-link" aria-label="Direct link to Sign the source package/binary package/sha512" title="Direct link to Sign the source package/binary package/sha512"></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># source directory</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> /tmp/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># calculate SHA512</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">for</span><span class="token plain"> </span><span class="token for-or-select variable" style="color:rgb(189, 147, 249);font-style:italic">i</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"> *.tar.gz</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">do</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">echo</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> gpg -u </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${KEY_ID}</span><span class="token plain"> --print-md SHA512 </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token plain"> </span><span class="token operator">&gt;</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token plain">.sha512 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">done</span><span class="token plain"> </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># calculate signature</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">for</span><span class="token plain"> </span><span class="token for-or-select variable" style="color:rgb(189, 147, 249);font-style:italic">i</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"> *.tar.gz</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">do</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">echo</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> gpg -u </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${KEY_ID}</span><span class="token plain"> --armor --output </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token plain">.asc --detach-sig </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">done</span><span class="token plain"> </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="check-the-signaturesha512">Check the signature/sha512<a href="#check-the-signaturesha512" class="hash-link" aria-label="Direct link to Check the signature/sha512" title="Direct link to Check the signature/sha512"></a></h3><p>Ref:<a href="/community/how-to-verify">check the candidate version</a>, e.g. check the signature:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">for</span><span class="token plain"> </span><span class="token for-or-select variable" style="color:rgb(189, 147, 249);font-style:italic">i</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">in</span><span class="token plain"> *.tar.gz</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">do</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">echo</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> gpg -u </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${KEY_ID}</span><span class="token plain"> --verify </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token plain">.asc </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">$i</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">done</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="prepare-for-apache-release">Prepare for Apache release<a href="#prepare-for-apache-release" class="hash-link" aria-label="Direct link to Prepare for Apache release" title="Direct link to Prepare for Apache release"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-jar-to-apache-nexus-repository">Deploy jar to Apache Nexus repository<a href="#deploy-jar-to-apache-nexus-repository" class="hash-link" aria-label="Direct link to Deploy jar to Apache Nexus repository" title="Direct link to Deploy jar to Apache Nexus repository"></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># go to the source code directory</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> /tmp/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain">/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># start to upload, and make sure the settings.xml is the file updated before</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ mvn -DskipTests deploy -Papache-release -Dmaven.javadoc.skip</span><span class="token operator">=</span><span class="token plain">true</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="upload-tar-file-to-dist-repo">Upload tar file to dist repo<a href="#upload-tar-file-to-dist-repo" class="hash-link" aria-label="Direct link to Upload tar file to dist repo" title="Direct link to Upload tar file to dist repo"></a></h3><ul><li>Checkout dist repo to local directory</li></ul><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># As this step will copy all the versions, it will take some time. If the network is broken, please use svn cleanup to delete the lock before re-execute it.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn co https://dist.apache.org/repos/dist/dev/inlong /tmp/inlong-dist-dev</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ul><li>Add source and binary files and commit to SVN repository</li></ul><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> /tmp/inlong-dist-dev</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># create a directory named by version</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">mkdir</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain"> </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># copy source code and signature package to the versioned directory</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">cp</span><span class="token plain"> /tmp/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain">/*tar.gz* </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain">/ </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># check svn status</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn status</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># addi to svn</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn </span><span class="token function" style="color:rgb(80, 250, 123)">add</span><span class="token plain"> </span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># check svn status</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn status</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># commit to SVN remote server</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn commit -m </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;prepare for </span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token string" style="color:rgb(255, 121, 198)"> </span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token string" style="color:rgb(255, 121, 198)">&quot;</span><span class="token plain"> </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="close-apache-staging-repository">Close Apache Staging repository<a href="#close-apache-staging-repository" class="hash-link" aria-label="Direct link to Close Apache Staging repository" title="Direct link to Close Apache Staging repository"></a></h3><ul><li>Login <a href="http://repository.apache.org" target="_blank" rel="noopener noreferrer">http://repository.apache.org</a> with your Apache account</li><li>Click the Staging repositories on the left </li><li>Search <code>InLong</code> and select the latest unloaded repository</li><li>Click the close button which will trigger a serials of checks</li><li>You will get a link like <code>https://repository.apache.org/content/repositories/orgapacheinlong-{staging-id}</code> on the Summary page if all checks passed. This link will be posted in the vote email, so, keep it safe.</li></ul><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_S0QG"><ul><li>Close operation may not work, it&#x27;s better to check and fix the causes.</li><li>The key you uploaded before may not be synchronized among the keyserver, please upload it to <code>keyserver.ubuntu.com</code> or <code>keys.openpgp.org</code> if there is a <code>Signature Validation</code> event.</li></ul></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-inlong-community-vote">Apache InLong community vote<a href="#apache-inlong-community-vote" class="hash-link" aria-label="Direct link to Apache InLong community vote" title="Direct link to Apache InLong community vote"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="start-vote">Start Vote<a href="#start-vote" class="hash-link" aria-label="Direct link to Start Vote" title="Direct link to Start Vote"></a></h3><p>Send email to <code>dev@inlong.apache.org</code>, the vote template is:</p><div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Title:[VOTE] Release Apache InLong ${release_version} ${rc_version}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Content:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Hello Apache InLong PMC and Community,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> This is a call for a vote to release Apache InLong version ${release_version}-${rc_version}.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> The tag to be voted on is ${release_version}-${rc_version}:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> https://github.com/apache/inlong/tree/${release_version}-${rc_version}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> The release tarball, signature, and checksums can be found at:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> https://dist.apache.org/repos/dist/dev/inlong/${release_version}-${rc_version}/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Maven artifacts are available in a staging repository at:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> https://repository.apache.org/content/repositories/orgapacheinlong-{staging-id}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Artifacts were signed with the {YOUR_GPG_KEY_ID} key, which can be found in:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> https://downloads.apache.org/inlong/KEYS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ${release_version} includes ~ ${issue_count} bug fixes and improvements done since the last versions, which can be found at:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> https://github.com/apache/inlong/blob/${release_version}-${rc_version}/CHANGES.md</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Please download, verify, and test.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> The VOTE will remain open for at least 72 hours.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] +1 Release this package as Apache InLong ${release_version}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] +0</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] -1 Do not release this package because...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> To learn more about apache inlong, please see</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> http://inlong.apache.org/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Checklist for reference:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] Download links are valid.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] Checksums and signatures.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] LICENSE/NOTICE files exist</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] No unexpected binary files</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] All source files have ASF headers</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] Can compile from source</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [ ] All Tests Passed</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> More detailed checklist, please refer to the following:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> https://inlong.apache.org/community/how-to-verify</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Thanks,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Your InLong Release Manager</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="counting-the-vote-result">Counting the vote result<a href="#counting-the-vote-result" class="hash-link" aria-label="Direct link to Counting the vote result" title="Direct link to Counting the vote result"></a></h3><p>Send email to <code>dev@inlong.apache.org</code>, the vote template is:</p><div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Title:[RESULT][VOTE] Release Apache InLong ${release_version} ${rc_version}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Content:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Hello Apache InLong PMC and Community,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> The vote closes now as 72hr have passed. The vote passed with</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> xx (+1 binding) votes from the PMC,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> xx (+1 non-binding) vote from the rest of the developer community,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> and no further 0 or -1 votes.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> The voting thread: {vote_mail_address}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> The release is accepted and will be published.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Thank you for your support.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Your InLong Release Manager</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="officially-release">Officially release<a href="#officially-release" class="hash-link" aria-label="Direct link to Officially release" title="Direct link to Officially release"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="move-source-code-and-binary-package-from-dev-to-release-repository-on-svn">Move source code and binary package from DEV to release repository on SVN.<a href="#move-source-code-and-binary-package-from-dev-to-release-repository-on-svn" class="hash-link" aria-label="Direct link to Move source code and binary package from DEV to release repository on SVN." title="Direct link to Move source code and binary package from DEV to release repository on SVN."></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn </span><span class="token function" style="color:rgb(80, 250, 123)">mv</span><span class="token plain"> https://dist.apache.org/repos/dist/dev/inlong/</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain"> https://dist.apache.org/repos/dist/release/inlong/</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain"> -m </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;Release </span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token string" style="color:rgb(255, 121, 198)">&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Then make sure <code>${release_version}-${rc_version}</code> directory is deleted in <a href="https://dist.apache.org/repos/dist/dev/inlong/" target="_blank" rel="noopener noreferrer">dev</a>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="release-version-in-apache-staging">Release version in Apache Staging<a href="#release-version-in-apache-staging" class="hash-link" aria-label="Direct link to Release version in Apache Staging" title="Direct link to Release version in Apache Staging"></a></h3><ul><li>Log in <a href="http://repository.apache.org" target="_blank" rel="noopener noreferrer">http://repository.apache.org</a> with your Apache account</li><li>Click the Staging repositories on the left</li><li>Searching InLong at choose the latest uploaded repository which is specified in the vote email</li><li>Click the <code>Release</code> button above which will trigger a serials of checks</li></ul><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_S0QG"><p>Wait the repository sync to other repositories which generally takes 24 hours</p></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-documents-and-download-links-on-official-website">Update Documents and download links on official website<a href="#update-documents-and-download-links-on-official-website" class="hash-link" aria-label="Direct link to Update Documents and download links on official website" title="Direct link to Update Documents and download links on official website"></a></h3><ul><li><p>Update <a href="https://inlong.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a> resource links</p></li><li><p>Create ${release-version} related version document</p></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="send-email-to-devinlongapacheorg-and-cc-announceapacheorg">Send email to <code>dev@inlong.apache.org</code> and CC <code>announce@apache.org</code><a href="#send-email-to-devinlongapacheorg-and-cc-announceapacheorg" class="hash-link" aria-label="Direct link to send-email-to-devinlongapacheorg-and-cc-announceapacheorg" title="Direct link to send-email-to-devinlongapacheorg-and-cc-announceapacheorg"></a></h3><ul><li><p>Please make sure deployment in Apache Staging is successfully</p></li><li><p>Log in to <a href="https://downloads.apache.org/inlong/$%7Brelease-version%7D/" target="_blank" rel="noopener noreferrer">https://downloads.apache.org/inlong/${release-version}/</a> to see if there is an installation package</p></li><li><p>Release announce email, the template is:</p></li></ul><div class="language-html codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-html codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Title: [ANNOUNCE] Release Apache InLong ${release_version}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Content:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Hi all,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">The Apache InLong community is pleased to announce </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">that Apache InLong ${release_version} has been released!</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Apache InLong is a one-stop, full-scenario integration framework for massive data that supports `Data Ingestion`, `Data Synchronization` and `Data Subscription`, and it provides automatic, secure,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">distributed, and efficient data publishing and subscription capabilities.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">This platform helps you easily build stream-based data applications.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">This release contains a number of new features, bug fixes and</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">improvements compared to the last version released before.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">The notable changes since ${release_version} include:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">1. Feature-1</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">2. Feature-2</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">3. Feature-3</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">${release_version} since the last versions, which can be found at:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Please refer to the change log for the complete list of changes:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">https://github.com/apache/inlong/blob/release-${release_version}/CHANGES.md</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Apache InLong website: https://inlong.apache.org/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Download Links: https://inlong.apache.org/download</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">InLong Resources:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">- Issue: https://github.com/apache/inlong/issues</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">- Mailing list: dev@inlong.apache.org</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Thanks</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">On behalf of the Apache InLong community</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="github-release-package">GitHub release package<a href="#github-release-package" class="hash-link" aria-label="Direct link to GitHub release package" title="Direct link to GitHub release package"></a></h3><ul><li>Go to <a href="https://github.com/apache/inlong" target="_blank" rel="noopener noreferrer">https://github.com/apache/inlong</a>, click the + sign under Releases on the right, then click Draft a new release</li><li>The release title is ${release_version}, upload all files under <a href="https://downloads.apache.org/inlong/$%7Brelease-version%7D" target="_blank" rel="noopener noreferrer">https://downloads.apache.org/inlong/${release-version}</a></li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="after-the-release">After the release<a href="#after-the-release" class="hash-link" aria-label="Direct link to After the release" title="Direct link to After the release"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="clean-up-temporary-files">Clean up temporary files<a href="#clean-up-temporary-files" class="hash-link" aria-label="Direct link to Clean up temporary files" title="Direct link to Clean up temporary files"></a></h3><p>If the above steps are successful, the version release is booming, and you can clean up local temporary files and conduct community voting.</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">rm</span><span class="token plain"> -rf /tmp/apache-inlong-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${release_version}</span><span class="token plain">-</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${rc_version}</span><span class="token plain">/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ </span><span class="token function" style="color:rgb(80, 250, 123)">rm</span><span class="token plain"> -rf /tmp/inlong-dist-dev/</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="archive-the-previous-version-packages">Archive the previous version packages<a href="#archive-the-previous-version-packages" class="hash-link" aria-label="Direct link to Archive the previous version packages" title="Direct link to Archive the previous version packages"></a></h3><p>Delete release package of previous versions <a href="https://dist.apache.org/repos/dist/release/inlong/" target="_blank" rel="noopener noreferrer">release</a>,these packages will be saved <a href="https://archive.apache.org/dist/inlong/" target="_blank" rel="noopener noreferrer">here</a>.</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># last_release_version is the last version number, you can check is by accessing https://dist.apache.org/repos/dist/release/inlong/ ,e.g 1.3.0</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ svn delete https://dist.apache.org/repos/dist/release/inlong/</span><span class="token variable" style="color:rgb(189, 147, 249);font-style:italic">${last_release_version}</span><span class="token plain"> -m </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;Delete </span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">${last_release_version}</span><span class="token string" style="color:rgb(255, 121, 198)">&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/inlong-website/edit/master/community/how-to-release.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/community/how-to-vote-a-committer-pmc"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">How to Vote a Committer or PMC Member</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/community/how-to-verify"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">How to Verify Release Candidate</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#add-gpg-key" class="table-of-contents__link toc-highlight">Add GPG Key</a><ul><li><a href="#install-gpg" class="table-of-contents__link toc-highlight">Install GPG</a></li><li><a href="#generate-gpg-key" class="table-of-contents__link toc-highlight">Generate GPG Key</a></li><li><a href="#upload-your-key-to-public-gpg-keyserver" class="table-of-contents__link toc-highlight">Upload your key to public GPG keyserver</a></li><li><a href="#check-whether-the-gpg-key-is-created-successfully" class="table-of-contents__link toc-highlight">Check whether the GPG Key is created successfully</a></li><li><a href="#upload-the-gpg-public-key-to-svn-repo" class="table-of-contents__link toc-highlight">Upload the GPG public key to SVN repo</a></li><li><a href="#upload-the-gpg-public-key-to-your-github-account" class="table-of-contents__link toc-highlight">Upload the GPG public key to your Github account</a></li></ul></li><li><a href="#maven-settings" class="table-of-contents__link toc-highlight">Maven settings</a></li><li><a href="#build" class="table-of-contents__link toc-highlight">Build</a><ul><li><a href="#prepare-branch" class="table-of-contents__link toc-highlight">Prepare branch</a></li><li><a href="#create-tag" class="table-of-contents__link toc-highlight">create tag</a></li><li><a href="#building-source-code-package" class="table-of-contents__link toc-highlight">Building source code package</a></li><li><a href="#upload-tag-to-git-repository" class="table-of-contents__link toc-highlight">Upload tag to git repository</a></li><li><a href="#building-binary-package" class="table-of-contents__link toc-highlight">Building binary package</a></li><li><a href="#sign-the-source-packagebinary-packagesha512" class="table-of-contents__link toc-highlight">Sign the source package/binary package/sha512</a></li><li><a href="#check-the-signaturesha512" class="table-of-contents__link toc-highlight">Check the signature/sha512</a></li></ul></li><li><a href="#prepare-for-apache-release" class="table-of-contents__link toc-highlight">Prepare for Apache release</a><ul><li><a href="#deploy-jar-to-apache-nexus-repository" class="table-of-contents__link toc-highlight">Deploy jar to Apache Nexus repository</a></li><li><a href="#upload-tar-file-to-dist-repo" class="table-of-contents__link toc-highlight">Upload tar file to dist repo</a></li><li><a href="#close-apache-staging-repository" class="table-of-contents__link toc-highlight">Close Apache Staging repository</a></li></ul></li><li><a href="#apache-inlong-community-vote" class="table-of-contents__link toc-highlight">Apache InLong community vote</a><ul><li><a href="#start-vote" class="table-of-contents__link toc-highlight">Start Vote</a></li><li><a href="#counting-the-vote-result" class="table-of-contents__link toc-highlight">Counting the vote result</a></li></ul></li><li><a href="#officially-release" class="table-of-contents__link toc-highlight">Officially release</a><ul><li><a href="#move-source-code-and-binary-package-from-dev-to-release-repository-on-svn" class="table-of-contents__link toc-highlight">Move source code and binary package from DEV to release repository on SVN.</a></li><li><a href="#release-version-in-apache-staging" class="table-of-contents__link toc-highlight">Release version in Apache Staging</a></li><li><a href="#update-documents-and-download-links-on-official-website" class="table-of-contents__link toc-highlight">Update Documents and download links on official website</a></li><li><a href="#send-email-to-devinlongapacheorg-and-cc-announceapacheorg" class="table-of-contents__link toc-highlight">Send email to <code>dev@inlong.apache.org</code> and CC <code>announce@apache.org</code></a></li><li><a href="#github-release-package" class="table-of-contents__link toc-highlight">GitHub release package</a></li></ul></li><li><a href="#after-the-release" class="table-of-contents__link toc-highlight">After the release</a><ul><li><a href="#clean-up-temporary-files" class="table-of-contents__link toc-highlight">Clean up temporary files</a></li><li><a href="#archive-the-previous-version-packages" class="table-of-contents__link toc-highlight">Archive the previous version packages</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Events</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apachecon.com/" target="_blank" rel="noopener noreferrer" class="footer__link-item">ApacheCon<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="acevent" data-format="square" data-mode="dark" data-event="random"></a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://twitter.com/ApacheInlong" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://inlong.apache.org/img/apache-inlong-wechat.jpg" target="_blank" rel="noopener noreferrer" class="footer__link-item">WeChat<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="mailto:dev@inlong.apache.org" target="_blank" rel="noopener noreferrer" class="footer__link-item">Email</a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/blog">Blog</a></li><li class="footer__item"><a href="https://github.com/apache/inlong" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/asf_logo.svg" alt="Apache InLong" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/asf_logo.svg" alt="Apache InLong" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></div><div class="footer__copyright"><div style="font-family: Avenir-Medium;font-size: 14px;color: #999;">
<div>Copyright © 2020-2024 The Apache Software Foundation. Licensed under the Apache License, Version 2.0.</div>
<div style="margin-top: 20px; padding-top: 20px; border-top: 1px solid #666;line-height: 20px;">The Apache Software Foundation Apache InLong, InLong, Apache, the Apache feather, and the Apache InLong project logo are either registered trademarks or trademarks of the Apache Software Foundation.</div>
</div></div></div></div></footer></div>
<script src="/assets/js/runtime~main.63c98e82.js"></script>
<script src="/assets/js/main.070aef2a.js"></script>
</body>
</html>