blob: c070e7a6993d0d20f660fb8da2195d6db19534dd [file] [log] [blame]
"use strict";(self.webpackChunkdoris_website=self.webpackChunkdoris_website||[]).push([[39761],{15680:(e,n,a)=>{a.d(n,{xA:()=>p,yg:()=>g});var t=a(296540);function r(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function i(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function o(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?i(Object(a),!0).forEach((function(n){r(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function s(e,n){if(null==e)return{};var a,t,r=function(e,n){if(null==e)return{};var a,t,r={},i=Object.keys(e);for(t=0;t<i.length;t++)a=i[t],n.indexOf(a)>=0||(r[a]=e[a]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)a=i[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var c=t.createContext({}),l=function(e){var n=t.useContext(c),a=n;return e&&(a="function"==typeof e?e(n):o(o({},n),e)),a},p=function(e){var n=l(e.components);return t.createElement(c.Provider,{value:n},e.children)},h="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},u=t.forwardRef((function(e,n){var a=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),h=l(a),u=r,g=h["".concat(c,".").concat(u)]||h[u]||d[u]||i;return a?t.createElement(g,o(o({ref:n},p),{},{components:a})):t.createElement(g,o({ref:n},p))}));function g(e,n){var a=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=u;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[h]="string"==typeof e?e:r,o[1]=s;for(var l=2;l<i;l++)o[l]=a[l];return t.createElement.apply(null,o)}return t.createElement.apply(null,a)}u.displayName="MDXCreateElement"},8214:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var t=a(58168),r=(a(296540),a(15680));const i={title:"Release Doris Core",language:"en"},o=void 0,s={unversionedId:"release-and-verify/release-doris-core",id:"release-and-verify/release-doris-core",title:"Release Doris Core",description:"\x3c!--",source:"@site/community/release-and-verify/release-doris-core.md",sourceDirName:"release-and-verify",slug:"/release-and-verify/release-doris-core",permalink:"/community/release-and-verify/release-doris-core",draft:!1,tags:[],version:"current",frontMatter:{title:"Release Doris Core",language:"en"},sidebar:"community",previous:{title:"Release Preparation",permalink:"/community/release-and-verify/release-prepare"},next:{title:"Release Doris Connectors",permalink:"/community/release-and-verify/release-doris-connectors"}},c={},l=[{value:"Preparing for release",id:"preparing-for-release",level:2},{value:"Preparing a branch",id:"preparing-a-branch",level:3},{value:"Clean up issues",id:"clean-up-issues",level:3},{value:"Merge necessary patches",id:"merge-necessary-patches",level:3},{value:"Validation branch",id:"validation-branch",level:2},{value:"Stability testing",id:"stability-testing",level:3},{value:"Compile verification",id:"compile-verification",level:3},{value:"Prepare Release Notes",id:"prepare-release-notes",level:3},{value:"Community Posting Voting Process",id:"community-posting-voting-process",level:2},{value:"Tagging",id:"tagging",level:3},{value:"Package, sign and upload",id:"package-sign-and-upload",level:3},{value:"Email the community at dev@doris.apache.org to vote",id:"email-the-community-at-devdorisapacheorg-to-vote",level:3},{value:"After the vote is approved, send the Result email",id:"after-the-vote-is-approved-send-the-result-email",level:3},{value:"Email general@incubator.apache.org to vote",id:"email-generalincubatorapacheorg-to-vote",level:3},{value:"Send Result email to general@incubator.apache.org",id:"send-result-email-to-generalincubatorapacheorg",level:3},{value:"Completing the release",id:"completing-the-release",level:2}],p={toc:l},h="wrapper";function d(e){let{components:n,...a}=e;return(0,r.yg)(h,(0,t.A)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("h1",{id:"release-doris-core"},"Release Doris Core"),(0,r.yg)("p",null,"Doris Core refers to the content published in ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/apache/doris"},"https://github.com/apache/doris"),"."),(0,r.yg)("h2",{id:"preparing-for-release"},"Preparing for release"),(0,r.yg)("p",null,"First, see the ",(0,r.yg)("a",{parentName:"p",href:"/community/release-and-verify/release-prepare"},"release preparation")," documentation for release preparation."),(0,r.yg)("h3",{id:"preparing-a-branch"},"Preparing a branch"),(0,r.yg)("p",null,"You need to create a new branch before releasing. For example."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"$ git checkout -b branch-0.9\n")),(0,r.yg)("p",null,"This branch should be more fully tested to make features available, bugs converged, and important bugs fixed.\nThis process requires waiting for the community to see if there are any necessary patches that need to be merged in for this release, and if so, cherry-picking it to the release branch."),(0,r.yg)("h3",{id:"clean-up-issues"},"Clean up issues"),(0,r.yg)("p",null,"Go through all the issues that belong to this release, close the ones that are done, and if they can't be done, defer them to a later release."),(0,r.yg)("h3",{id:"merge-necessary-patches"},"Merge necessary patches"),(0,r.yg)("p",null,"If someone in the community says there are important bugs that need to be merged in, then the Release Manager needs to evaluate and merge the important patches into the release branch."),(0,r.yg)("h2",{id:"validation-branch"},"Validation branch"),(0,r.yg)("h3",{id:"stability-testing"},"Stability testing"),(0,r.yg)("p",null,"Pass the batched branch to the QA students for stability testing. If during the testing process, there are issues that need to be fixed, then if during the testing process, there are issues that need to be fixed, then after they are fixed, the PRs that fix the issues need to be merged into the branch of the pending release."),(0,r.yg)("p",null,"Only after the whole branch is stable, can you prepare to release the version."),(0,r.yg)("h3",{id:"compile-verification"},"Compile verification"),(0,r.yg)("p",null,"Please refer to the compilation documentation for compilation to ensure that the source code is compiled correctly."),(0,r.yg)("h3",{id:"prepare-release-notes"},"Prepare Release Notes"),(0,r.yg)("h2",{id:"community-posting-voting-process"},"Community Posting Voting Process"),(0,r.yg)("h3",{id:"tagging"},"Tagging"),(0,r.yg)("p",null,"Once the above branch is more stable, you can tag this branch.\nRemember to modify the ",(0,r.yg)("inlineCode",{parentName:"p"},"build_version")," variable in ",(0,r.yg)("inlineCode",{parentName:"p"},"gensrc/script/gen_build_version.sh")," when creating the tag. For example ",(0,r.yg)("inlineCode",{parentName:"p"},'build_version="0.10.0-release"')),(0,r.yg)("p",null,"Example:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},'$ git checkout branch-0.9\n$ git tag -a 0.9.0-rc01 -m "0.9.0 release candidate 01"\n$ git push origin 0.9.0-rc01\nCounting objects: 1, done.\nWriting objects: 100% (1/1), 165 bytes | 0 bytes/s, done.\nTotal 1 (delta 0), reused 0 (delta 0)\nTo git@github.com:apache/incubator-doris.git\n * [new tag] 0.9.0-rc01 -> 0.9.0-rc01\n\n$ git tag\n')),(0,r.yg)("h3",{id:"package-sign-and-upload"},"Package, sign and upload"),(0,r.yg)("p",null,"For the following steps, you also need to log in to the user account directly through a terminal such as SecureCRT, not through ",(0,r.yg)("inlineCode",{parentName:"p"},"su - user")," or ",(0,r.yg)("inlineCode",{parentName:"p"},"ssh"),", otherwise the password input box will not be displayed and an error will be reported."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"$ git checkout 0.9.0-rc01\n\n$ git archive --format=tar 0.9.0-rc01 --prefix=apache-doris-0.9.0-incubating-src/ | gzip > apache-doris-0.9.0-incubating-src.tar.gz\n\n$ gpg -u xxx@apache.org --armor --output apache-doris-0.9.0-incubating-src.tar.gz.asc --detach-sign apache-doris-0.9.0-incubating-src.tar.gz\n\n$ gpg --verify apache-doris-0.9.0-incubating-src.tar.gz.asc apache-doris-0.9.0-incubating-src.tar.gz\n\n$ sha512sum apache-doris-0.9.0-incubating-src.tar.gz > apache-doris-0.9.0-incubating-src.tar.gz.sha512\n\n$ sha512sum --check apache-doris-0.9.0-incubating-src.tar.gz.sha512\n")),(0,r.yg)("p",null,"Then upload the packaged content to the svn repository by first downloading the svn library at:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"svn co https://dist.apache.org/repos/dist/dev/incubator/doris/\n")),(0,r.yg)("p",null,"Organize all the previously obtained files into the following svn path:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"./doris/\n|-- 0.9.0-rc1\n| |-- apache-doris-0.9.0-incubating-src.tar.gz\n| |-- apache-doris-0.9.0-incubating-src.tar.gz.asc\n| `-- apache-doris-0.9.0-incubating-src.tar.gz.sha512\n`-- KEYS\n")),(0,r.yg)("p",null,"Upload these file:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},'svn add 0.9.0-rc1\nsvn commit -m "Add 0.9.0-rc1"\n')),(0,r.yg)("h3",{id:"email-the-community-at-devdorisapacheorg-to-vote"},"Email the community at ",(0,r.yg)("a",{parentName:"h3",href:"mailto:dev@doris.apache.org"},"dev@doris.apache.org")," to vote"),(0,r.yg)("p",null,"[VOTE]"," Release Apache Doris 0.9.0-incubating-rc01"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"Hi all,\n\nPlease review and vote on Apache Doris 0.9.0-incubating-rc01 release.\n\nThe release candidate has been tagged in GitHub as 0.9.0-rc01, available\nhere:\nhttps://github.com/apache/incubator-doris/releases/tag/0.9.0-rc01\n\nRelease Notes are here:\nhttps://github.com/apache/incubator-doris/issues/1891\n\nThanks to everyone who has contributed to this release.\n\nThe artifacts (source, signature and checksum) corresponding to this release\ncandidate can be found here:\nhttps://dist.apache.org/repos/dist/dev/incubator/doris/0.9/0.9.0-rc1/\n\nThis has been signed with PGP key 33DBF2E0, corresponding to\nlide@apache.org.\nKEYS file is available here:\nhttps://downloads.apache.org/incubator/doris/KEYS\nIt is also listed here:\nhttps://people.apache.org/keys/committer/lide.asc\n\nTo verify and build, you can refer to following wiki:\nhttps://github.com/apache/incubator-doris/wiki/How-to-verify-Apache-Release\nhttps://wiki.apache.org/incubator/IncubatorReleaseChecklist\n\nThe vote will be open for at least 72 hours.\n[ ] +1 Approve the release\n[ ] +0 No opinion\n[ ] -1 Do not release this package because ...\n\nBest Regards,\nxxx\n\n----\nDISCLAIMER: \nApache Doris (incubating) is an effort undergoing incubation at The\nApache Software Foundation (ASF), sponsored by the Apache Incubator PMC.\n\nIncubation is required of all newly accepted\nprojects until a further review indicates that the\ninfrastructure, communications, and decision making process have\nstabilized in a manner consistent with other successful ASF\nprojects.\n\nWhile incubation status is not necessarily a reflection\nof the completeness or stability of the code, it does indicate\nthat the project has yet to be fully endorsed by the ASF.\n")),(0,r.yg)("h3",{id:"after-the-vote-is-approved-send-the-result-email"},"After the vote is approved, send the Result email"),(0,r.yg)("p",null,"[Result][VOTE]"," Release Apache Doris 0.9.0-incubating-rc01"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"Thanks to everyone, and this vote is now closed.\n\nIt has passed with 4 +1 (binding) votes and no 0 or -1 votes.\n\nBinding:\n+1 Zhao Chun\n+1 xxx\n+1 Li Chaoyong\n+1 Mingyu Chen\n\nBest Regards,\nxxx\n\n")),(0,r.yg)("h3",{id:"email-generalincubatorapacheorg-to-vote"},"Email ",(0,r.yg)("a",{parentName:"h3",href:"mailto:general@incubator.apache.org"},"general@incubator.apache.org")," to vote"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"If not an incubator program, please skip")),(0,r.yg)("p",null,"[VOTE]"," Release Apache Doris 0.9.0-incubating-rc01"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"Hi all,\n\nPlease review and vote on Apache Doris 0.9.0-incubating-rc01 release.\n\nApache Doris is an MPP-based interactive SQL data warehousing for reporting and analysis.\n\nThe Apache Doris community has voted on and approved this release:\nhttps://lists.apache.org/thread.html/d70f7c8a8ae448bf6680a15914646005c6483564464cfa15f4ddc2fc@%3Cdev.doris.apache.org%3E\n\nThe vote result email thread:\nhttps://lists.apache.org/thread.html/64d229f0ba15d66adc83306bc8d7b7ccd5910ecb7e842718ce6a61da@%3Cdev.doris.apache.org%3E\n\nThe release candidate has been tagged in GitHub as 0.9.0-rc01, available here:\nhttps://github.com/apache/incubator-doris/releases/tag/0.9.0-rc01\n\nThere is no CHANGE LOG file because this is the first release of Apache Doris.\nThanks to everyone who has contributed to this release, and there is a simple release notes can be found here:\nhttps://github.com/apache/incubator-doris/issues/406\n\nThe artifacts (source, signature and checksum) corresponding to this release candidate can be found here:\nhttps://dist.apache.org/repos/dist/dev/incubator/doris/0.9/0.9.0-rc01/\n\nThis has been signed with PGP key 33DBF2E0, corresponding to lide@apache.org.\nKEYS file is available here:\nhttps://downloads.apache.org/incubator/doris/KEYS\nIt is also listed here:\nhttps://people.apache.org/keys/committer/lide.asc\n\nThe vote will be open for at least 72 hours.\n[ ] +1 Approve the release\n[ ] +0 No opinion\n[ ] -1 Do not release this package because ...\n\nTo verify and build, you can refer to following instruction:\n\nFirstly, you must be install and start docker service, and then you could build Doris as following steps:\n\nStep1: Pull the docker image with Doris building environment\n$ docker pull apache/incubator-doris:build-env-1.3.1\nYou can check it by listing images, its size is about 3.28GB.\n\nStep2: Run the Docker image\nYou can run image directly:\n$ docker run -it apache/incubator-doris:build-env-1.3.1\n\nStep3: Download Doris source\nNow you should in docker environment, and you can download Doris source package.\n(If you have downloaded source and it is not in image, you can map its path to image in Step2.)\n$ wget https://dist.apache.org/repos/dist/dev/incubator/doris/0.9/0.9.0-rc01/apache-doris-0.9.0.rc01-incubating-src.tar.gz\n\nStep4: Build Doris\nNow you can decompress and enter Doris source path and build Doris.\n$ tar zxvf apache-doris-0.9.0.rc01-incubating-src.tar.gz\n$ cd apache-doris-0.9.0.rc01-incubating-src\n$ sh build.sh\n\nBest Regards,\nxxx\n\n----\nDISCLAIMER: \nApache Doris (incubating) is an effort undergoing incubation at The\nApache Software Foundation (ASF), sponsored by the Apache Incubator PMC.\n\nIncubation is required of all newly accepted\nprojects until a further review indicates that the\ninfrastructure, communications, and decision making process have\nstabilized in a manner consistent with other successful ASF\nprojects.\n\nWhile incubation status is not necessarily a reflection\nof the completeness or stability of the code, it does indicate\nthat the project has yet to be fully endorsed by the ASF.\n")),(0,r.yg)("p",null,"The thread link for the email can be found here."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"https://lists.apache.org/list.html?dev@doris.apache.org")),(0,r.yg)("h3",{id:"send-result-email-to-generalincubatorapacheorg"},"Send Result email to ",(0,r.yg)("a",{parentName:"h3",href:"mailto:general@incubator.apache.org"},"general@incubator.apache.org")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"If not an incubator project, please skip")),(0,r.yg)("p",null,"[RESULT][VOTE]"," Release Apache Doris 0.9.0-incubating-rc01"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"Hi,\n\nThanks to everyone, and the vote for releasing Apache Doris 0.9.0-incubating-rc01 is now closed.\n\nIt has passed with 4 +1 (binding) votes and no 0 or -1 votes.\n\nBinding:\n+1 Willem Jiang\n+1 Justin Mclean\n+1 ShaoFeng Shi\n+1 Makoto Yui\n\nThe vote thread:\nhttps://lists.apache.org/thread.html/da05fdd8d84e35de527f27200b5690d7811a1e97d419d1ea66562130@%3Cgeneral.incubator.apache.org%3E\n\nBest Regards,\nxxx\n")),(0,r.yg)("h2",{id:"completing-the-release"},"Completing the release"),(0,r.yg)("p",null,"Please refer to the ",(0,r.yg)("a",{parentName:"p",href:"/community/release-and-verify/release-complete"},"Release Completion")," document to complete the release process."))}d.isMDXComponent=!0}}]);