blob: 9c68e5410c5baa66fd8781ff2e41b6b5137120de [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{140:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var o=r(3),n=r(7),i=(r(0),r(193)),a={title:"Guide for Apache Submarine Committers"},c={unversionedId:"community/HowToCommit",id:"community/HowToCommit",isDocsHomePage:!1,title:"Guide for Apache Submarine Committers",description:"\x3c!--",source:"@site/docs/community/HowToCommit.md",slug:"/community/HowToCommit",permalink:"/docs/next/community/HowToCommit",editUrl:"https://github.com/apache/submarine/edit/master/website/docs/community/HowToCommit.md",version:"current",sidebar:"docs",previous:{title:"Bylaws",permalink:"/docs/next/community/Bylaws"},next:{title:"How To Contribute to Submarine",permalink:"/docs/next/community/contributing"}},s=[{value:"New committers",id:"new-committers",children:[]},{value:"Review",id:"review",children:[]},{value:"Reject",id:"reject",children:[]},{value:"Commit individual patches",id:"commit-individual-patches",children:[]},{value:"Adding Contributors role",id:"adding-contributors-role",children:[]}],m={toc:s};function l(e){var t=e.components,r=Object(n.a)(e,["components"]);return Object(i.b)("wrapper",Object(o.a)({},m,r,{components:t,mdxType:"MDXLayout"}),Object(i.b)("p",null,"This page contains Hadoop Core-specific guidelines for committers."),Object(i.b)("h2",{id:"new-committers"},"New committers"),Object(i.b)("p",null,"New committers are encouraged to first read Apache's generic committer documentation:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("a",{parentName:"li",href:"http://www.apache.org/dev/new-committers-guide.html"},"Apache New Committer Guide")),Object(i.b)("li",{parentName:"ul"},Object(i.b)("a",{parentName:"li",href:"http://www.apache.org/dev/committers.html"},"Apache Committer FAQ"))),Object(i.b)("p",null,"The first act of a new core committer is typically to add their name to the\ncredits page. This requires changing the site source in\n",Object(i.b)("a",{parentName:"p",href:"https://github.com/apache/submarine-site/blob/master/community/member.md"},"https://github.com/apache/submarine-site/blob/master/community/member.md"),". Once done,\nupdate the Submarine website as described\n",Object(i.b)("a",{parentName:"p",href:"https://github.com/apache/submarine-site/blob/asf-site/README.md"},"here"),"\n(TLDR; don't forget to regenerate the site with hugo, and commit the generated\nresults, too)."),Object(i.b)("h2",{id:"review"},"Review"),Object(i.b)("p",null,"Submarine committers should, as often as possible, attempt to review patches\nsubmitted by others. Ideally every submitted patch will get reviewed by a\ncommitter within a few days. If a committer reviews a patch they've not\nauthored, and believe it to be of sufficient quality, then they can commit the\npatch, otherwise the patch should be cancelled with a clear explanation for why\nit was rejected."),Object(i.b)("p",null,"The list of submitted patches can be found in the GitHub\n",Object(i.b)("a",{parentName:"p",href:"https://github.com/apache/submarine/pulls"},"Pull Requests")," page.\nCommitters should scan the list from top-to-bottom,\nlooking for patches that they feel qualified to review and possibly commit."),Object(i.b)("p",null,"For non-trivial changes, it is best to get another committer to review & approve\nyour own patches before commit."),Object(i.b)("h2",{id:"reject"},"Reject"),Object(i.b)("p",null,"Patches should be rejected which do not adhere to the guidelines in\n",Object(i.b)("a",{parentName:"p",href:"/docs/next/community/contributing"},"Contribution Guidelines"),". Committers should always be\npolite to contributors and try to instruct and encourage them to contribute\nbetter patches. If a committer wishes to improve an unacceptable patch, then it\nshould first be rejected, and a new patch should be attached by the committer\nfor review."),Object(i.b)("h2",{id:"commit-individual-patches"},"Commit individual patches"),Object(i.b)("p",null,"Submarine uses git for source code version control. The writable repo is at -\n",Object(i.b)("a",{parentName:"p",href:"https://gitbox.apache.org/repos/asf/submarine.git"},"https://gitbox.apache.org/repos/asf/submarine.git")),Object(i.b)("p",null,"It is strongly recommended to use the cicd script to merge the PRs.\nSee the instructions at\n",Object(i.b)("a",{parentName:"p",href:"https://github.com/apache/submarine/tree/master/dev-support/cicd"},"https://github.com/apache/submarine/tree/master/dev-support/cicd")),Object(i.b)("h2",{id:"adding-contributors-role"},"Adding Contributors role"),Object(i.b)("p",null,"There are three roles (Administrators, Committers, Contributors) in the project."),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},"Contributors who have Contributors role can become assignee of the issues in the project."),Object(i.b)("li",{parentName:"ul"},"Committers who have Committers role can set arbitrary roles in addition to Contributors role."),Object(i.b)("li",{parentName:"ul"},"Committers who have Administrators role can edit or delete all comments, or even delete issues in addition to Committers role.")),Object(i.b)("p",null,"How to set roles"),Object(i.b)("ol",null,Object(i.b)("li",{parentName:"ol"},"Login to ASF JIRA"),Object(i.b)("li",{parentName:"ol"},"Go to the project page (e.g. ",Object(i.b)("a",{parentName:"li",href:"https://issues.apache.org/jira/browse/SUBMARINE"},"https://issues.apache.org/jira/browse/SUBMARINE")," )"),Object(i.b)("li",{parentName:"ol"},'Hit "Administration" tab'),Object(i.b)("li",{parentName:"ol"},'Hit "Roles" tab in left side'),Object(i.b)("li",{parentName:"ol"},"Add Administrators/Committers/Contributors role")))}l.isMDXComponent=!0},193:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return d}));var o=r(0),n=r.n(o);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var m=n.a.createContext({}),l=function(e){var t=n.a.useContext(m),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.a.createElement(m.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},p=n.a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),u=l(r),p=o,d=u["".concat(a,".").concat(p)]||u[p]||b[p]||i;return r?n.a.createElement(d,c(c({ref:t},m),{},{components:r})):n.a.createElement(d,c({ref:t},m))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=p;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var m=2;m<i;m++)a[m]=r[m];return n.a.createElement.apply(null,a)}return n.a.createElement.apply(null,r)}p.displayName="MDXCreateElement"}}]);