mirror of
https://github.com/konpa/devicon.git
synced 2025-08-11 17:14:27 +02:00
add paragraph about release strategy, preparation and execution
This commit is contained in:
@@ -15,6 +15,7 @@ First of all, thanks for taking the time to contribute! This project can only gr
|
|||||||
<li><a href="#requestingIcon">Requesting An Icon</a></li>
|
<li><a href="#requestingIcon">Requesting An Icon</a></li>
|
||||||
<li><a href="#teams">Maintainer/Reviewer/Teams</a></li>
|
<li><a href="#teams">Maintainer/Reviewer/Teams</a></li>
|
||||||
<li><a href="#buildScript">Regarding the Build Script</a></li>
|
<li><a href="#buildScript">Regarding the Build Script</a></li>
|
||||||
|
<li><a href="#release">Release strategy, conventions, preparation and execution</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
@@ -299,3 +300,30 @@ As an example, let's assume you have created the svgs for Redhat and Amazon Web
|
|||||||
<li>Comment on the PR so maintainers don't have to manually upload icon result.</li>
|
<li>Comment on the PR so maintainers don't have to manually upload icon result.</li>
|
||||||
<li>Publishing a new release to <a href="https://www.npmjs.com/package/devicon">npm</a>; See <a href="https://github.com/devicons/devicon/issues/288">#288</a></li>
|
<li>Publishing a new release to <a href="https://www.npmjs.com/package/devicon">npm</a>; See <a href="https://github.com/devicons/devicon/issues/288">#288</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<h2 id='release'>Release strategy, conventions, preparation and execution</h2>
|
||||||
|
<h5>Release strategy</h5>
|
||||||
|
<p>Devicon does not follow a strict release plan. A new release is depended on current amount of contributions, required bugfixes/patches and will be discussed by the team of maintainers.</p>
|
||||||
|
<p>Generally speaking: A new release will be published when new icons are added or a bug was fixed. When it's predictable that multiple icons are added in a foreseeable amount of time they are usually wrapped together.</p>
|
||||||
|
<h5>Conventions</h5>
|
||||||
|
<p>The version naming follows the rules of <a href="https://semver.org/">Semantic Versioning</a>. Given a version number MAJOR.MINOR.PATCH, increment the:</p>
|
||||||
|
<ul>
|
||||||
|
<li>MAJOR version when you make incompatible API changes,</li>
|
||||||
|
<li>MINOR version when you add functionality <b>(like a new icon)</b> in a backwards compatible manner, and</li>
|
||||||
|
<li>PATCH version when you make backwards compatible bug fixes.</li>
|
||||||
|
</ul>
|
||||||
|
<h5>Release preparation and execution</h5>
|
||||||
|
<ol>
|
||||||
|
<li>Define the next release version number based on the conventions</li>
|
||||||
|
<li>Checkout <code>development</code> as <code>draft-release</code> branch</li>
|
||||||
|
<li>Bump the package version using <code>npm version v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i> -m "bump npm version to v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i>"</code> (see <code><a href="https://github.com/devicons/devicon/pull/497">#487</a></code>)</li>
|
||||||
|
<li>Push the branch <code>draft-release</code></li>
|
||||||
|
<li>Manually trigger the workflow <code><a href="https://github.com/devicons/devicon/actions/workflows/build_icons.yml">build_icons.yml</a></code> (which has a <code>workflow_dispatch</code> event trigger) and select the branch <code>draft-release</code> as target branch. This will build a font version of all icons using icomoon and automatically creates a pull request to merge the build result back into <code>draft-release</code></li>
|
||||||
|
<li>Review and approve the auto-create pull request created by the action of the step above</li>
|
||||||
|
<li>Create a pull request towards <code>development</code>. Mention the release number in the pull request title and add information about all new icons, fixes, features and enhancements in the description of the pull request. It's also a good idea to mention and thank all contributions who participated in the release (take description of <code><a href="https://github.com/devicons/devicon/pull/504">#504</a></code> as an example).</li>
|
||||||
|
<li>Wait for review and approval of the pull request (<b>DON'T</b> perform a squash-merge)</li>
|
||||||
|
<li>Once merged create a pull request with BASE <code>master</code> and HEAD <code>development</code>. Copy the description of the earlier pull request.</li>
|
||||||
|
<li>Since it was already approved in the 'development' stage a maintainer is allowed to merge it (<b>DON'T</b> perform a squash-merge).</li>
|
||||||
|
<li>Create a <a href="https://github.com/devicons/devicon/releases/new">new release</a> using v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i> as tag and release title. Use the earlier created description as description of the release.</li>
|
||||||
|
<li>Publishing the release will trigger the <a href="/.github/workflows/npm_publish.yml">npm_publish.yml</a> workflow which will execute a <code>npm publish</code> leading to a updated <a href="https://www.npmjs.com/package/devicon">npm package</a> (v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i>).</li>
|
||||||
|
</ol>
|
Reference in New Issue
Block a user