PageSourceSearch

https://edgemesh.netlify.app/assets/js/v-bcf80792.3ab7fe9c.js

js edgemesh.netlify.app collected 2026-10-03 10:41:21 UTC 8,212 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkedgemesh=self.webpackChunkedgemesh||[]).push([[922],{3004:(e,t,n)=>{n.r(t),n.d(t,{data:()=>a});const a={key:"v-bcf80792",path:"/contribute/contributing-guide.html",title:"Contributing to EdgeMesh",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Getting Started",slug:"getting-started",children:[]},{level:2,title:"Filing issues",slug:"filing-issues",children:[]},{level:2,title:"Contributor Workflow",slug:"contributor-workflow",children:[{level:3,title:"Format of the commit message",slug:"format-of-the-commit-message",children:[]},{level:3,title:"Creating Pull Requests",slug:"creating-pull-requests",children:[]}]}],filePathRelative:"contribute/contributing-guide.md",git:{updatedTime:1641225845e3,contributors:[]}}},1507:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ae});var a=n(6252);const s=(0,a._)("h1",{id:"contributing-to-edgemesh",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#contributing-to-edgemesh","aria-hidden":"true"},"#"),(0,a.Uk)(" Contributing to EdgeMesh")],-1),o=(0,a._)("p",null,"Welcome to EdgeMesh. Here is the contributing guide for you.",-1),i=(0,a._)("h2",{id:"getting-started",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#getting-started","aria-hidden":"true"},"#"),(0,a.Uk)(" Getting Started")],-1),r=(0,a.Uk)("Fork the "),l={href:"https://github.com/kubeedge/edgemesh",target:"_blank",rel:"noopener noreferrer"},u=(0,a.Uk)("repository"),d=(0,a.Uk)(" on Github."),c=(0,a.Uk)("Read the "),h=(0,a.Uk)("setup"),g=(0,a.Uk)(" for installation."),m=(0,a.Uk)("Read the "),p=(0,a.Uk)("developer guide"),f=(0,a.Uk)(" for more detail."),b=(0,a._)("h2",{id:"filing-issues",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#filing-issues","aria-hidden":"true"},"#"),(0,a.Uk)(" Filing issues")],-1),k=(0,a.Uk)("If you have any question for EdgeMesh, please feel free to file an issue via "),_={href:"https://github.com/kubeedge/edgemesh/issues/new/choose",target:"_blank",rel:"noopener noreferrer"},w=(0,a.Uk)("NEW ISSUE"),U=(0,a.Uk)(". The subjects of the issue can include "),v=(0,a._)("code",null,"Question about the project",-1),y=(0,a.Uk)(", "),x=(0,a._)("code",null,"Bug report",-1),E=(0,a.Uk)(", "),R=(0,a._)("code",null,"Feature request and proposal",-1),q=(0,a.Uk)(", "),T=(0,a._)("code",null,"Performance issues",-1),W=(0,a.Uk)(" and so on."),C=(0,a._)("h2",{id:"contributor-workflow",tabindex:"-1"},[(0,a._)("a",{class:"header-anchor",href:"#contributor-workflow","aria-hidden":"true"},"#"),(0,a.Uk)(" Contributor Workflow")],-1),A=(0,a._)("p",null,"EdgeMesh welcomes all developers, please feel free to ask questions and submit pull request. The following is a general workflow of a contributor:",-1),M=(0,a.Uk)("Fork the "),P={href:"https://github.com/kubeedge/edgemesh",target:"_blank",rel:"noopener noreferrer"},F=(0,a.Uk)("EdgeMesh"),I=(0,a.Uk)(" project to your personal repository, and create a new branch from main."),L=(0,a._)("li",null,"Make commits of logical units, including docs, unit test, e2e test, and code.",-1),N=(0,a._)("li",null,"Make sure commit message are in the proper format. (see below)",-1),j=(0,a._)("li",null,"Before you pull request, you need to make sure pass the verifications and tests. (see below)",-1),G=(0,a.Uk)("Push changes to the new branch and pull a new request to "),B={href:"https://github.com/kubeedge/edgemesh",target:"_blank",rel:"noopener noreferrer"},H=(0,a.Uk)("EdgeMesh"),S=(0,a.Uk)(" project."),D=(0,a._)("li",null,"The PR must receive an approval from maintainers and pass the continuous integration in github action.",-1),O=(0,a.uE)('<h3 id="format-of-the-commit-message" tabindex="-1"><a class="header-anchor" href="#format-of-the-commit-message" aria-hidden="true">#</a> Format of the commit message</h3><p>We follow a rough convention for commit messages that is designed to answer two questions: what changed and why. The subject line should feature the what and the body of the commit should describe the why. The commit message should be structured as follows:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>&lt;type&gt;: &lt;what changed&gt;\n&lt;BLANK LINE&gt;\n&lt;optional: why this change was made&gt;\n&lt;BLANK LINE&gt;\n&lt;optional: footer&gt;\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><p>Here is an example for you</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>feature: support cross lan communication for edgemesh\n\nThe nodes in the edge scenario are often distributed in different lan, and communication is necessary, and cross lan communication functions are very important.\n\nRefs #12\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><p>The first line is the subject and should be no longer than 70 characters, the second line is always blank, and other lines should be wrapped at 80 characters. This allows the message to be easier to read on GitHub as well as in various git tools. In general, we advocate the following commit message type:</p><ul><li>feature: A new feature</li><li>fix: A bug fix</li><li>test: Adding missing or correcting existing tests</li><li>chore: Changes to the build process or auxiliary tools and libraries such as documentation generation</li><li>
1docs: Documentation only changes, such as README, CHANGELOG, CONTRIBUTE</li><li>style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)</li><li>refactor: A code change that neither fixes a bug nor adds a feature</li><li>perf: A code change that improves performance</li><li>ci: A code change that update the script or config file of github ci action</li></ul><h3 id="creating-pull-requests" tabindex="-1"><a class="header-anchor" href="#creating-pull-requests" aria-hidden="true">#</a> Creating Pull Requests</h3>',8),K=(0,a.Uk)("EdgeMesh generally follows the standard "),Q={href:"https://help.github.com/articles/about-pull-requests/",target:"_blank",rel:"noopener noreferrer"},Y=(0,a.Uk)("github pull request"),z=(0,a.Uk)(" process. To submit a proposed change, please add the code and new test cases. After that, run these local verifications before submitting pull request to predict the pass or fail of continuous integration in github action."),J=(0,a._)("ul",null,[(0,a._)("li",null,[(0,a.Uk)("Run and pass "),(0,a._)("code",null,"make verify")]),(0,a._)("li",null,[(0,a.Uk)("Run and pass "),(0,a._)("code",null,"make lint")]),(0,a._)("li",null,[(0,a.Uk)("Run and pass "),(0,a._)("code",null,"make e2e")])],-1),V=(0,a._)("p",null,"In addition to the above process, a bot will begin applying structured labels to your PR.",-1),X=(0,a.Uk)("The bot may also make some helpful suggestions for commands to run in your PR to facilitate review. These "),Z=(0,a._)("code",null,"/command",-1),$=(0,a.Uk)(" options can be entered in comments to trigger auto-labeling and notifications. Refer to its "),ee={href:"https://go.k8s.io/bot-commands",target:"_blank",rel:"noopener noreferrer"},te=(0,a.Uk)("command reference documentation"),ne=(0,a.Uk)("."),ae={render:function(e,t){const n=(0,a.up)("OutboundLink"),ae=(0,a.up)("RouterLink");return(0,a.wg)(),(0,a.iD)(a.HY,null,[s,o,i,(0,a._)("ol",null,[(0,a._)("li",null,[r,(0,a._)("a",l,[u,(0,a.Wm)(n)]),d]),(0,a._)("li",null,[c,(0,a.Wm)(ae,{to:"/guide/getting-started.html"},{default:(0,a.w5)((()=>[h])),_:1}),g]),(0,a._)("li",null,[m,(0,a.Wm)(ae,{to:"/contribute/developer-guide.html"},{default:(0,a.w5)((()=>[p])),_:1}),f])]),b,(0,a._)("p",null,[k,(0,a._)("a",_,[w,(0,a.Wm)(n)]),U,v,y,x,E,R,q,T,W]),C,A,(0,a._)("ol",null,[(0,a._)("li",null,[M,(0,a._)("a",P,[F,(0,a.Wm)(n)]),I]),L,N,j,(0,a._)("li",null,[G,(0,a._)("a",B,[H,(0,a.Wm)(n)]),S]),D]),O,(0,a._)("p",null,[K,(0,a._)("a",Q,[Y,(0,a.Wm)(n)]),z]),J,V,(0,a._)("p",null,[X,Z,$,(0,a._)("a",ee,[te,(0,a.Wm)(n)]),ne])],64)}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.