diff --git a/.github/workflows/build_icons.yml b/.github/workflows/build_icons.yml index f4ebb5297..82016449e 100644 --- a/.github/workflows/build_icons.yml +++ b/.github/workflows/build_icons.yml @@ -65,8 +65,7 @@ jobs: Adios, Build Bot :sunglasses: with: - branch: 'master-build-result' - base: 'master' + branch: 'bot/build-result' commit-message: 'Built new icons, icomoon.json and devicon.css' title: 'bot:build new icons, icomoon.json and devicon.css' body: ${{ format(env.MESSAGE, fromJSON(steps.imgur_step.outputs.imgur_urls)[0] ) }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e3afaf9e9..b86006dd9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,6 +16,7 @@ First of all, thanks for taking the time to contribute! This project can only gr
  • Maintainer/Reviewer/Teams
  • Regarding the Build Script
  • Discord server
  • +
  • Release strategy, conventions, preparation and execution

  • @@ -23,7 +24,7 @@ First of all, thanks for taking the time to contribute! This project can only gr

    Here are some terms that we will use in this repo:

    1. "Technology" is used to describe a software, libraries, tool, etc...
    2. -
    3. "Icon" refers to the svgs and icons version of a technology as a whole. +
    4. "Icon" refers to the svgs and icons version of a technology as a whole.
    5. "SVG/svg" refers to the svg versions of the Icons.
    6. "icon" (lowercase) refers specficially to the font icon versions of the Icons.
    @@ -311,5 +312,33 @@ As an example, let's assume you have created the svgs for Redhat and Amazon Web

    Discord server

    We are running a Discord server. You can go here to talk, discuss, and more with the maintainers and other people, too. Here's the invitation: https://discord.gg/hScy8KWACQ. If you don't have a GitHub account but want to suggest ideas or new icons, you can do that here in our Discord channel. -Note that the Discord server is unofficial, and Devicons is still being maintained via GitHub. +Note that the Discord server is unofficial, and Devicons is still being maintained via GitHub.

    + +

    Release strategy, conventions, preparation and execution

    +
    Release strategy
    +

    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.

    +

    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.

    +
    Conventions
    +

    The version naming follows the rules of Semantic Versioning. Given a version number MAJOR.MINOR.PATCH, increment the:

    + + +
    Release preparation and execution
    +
      +
    1. Define the next release version number based on the conventions
    2. +
    3. Checkout development as draft-release branch
    4. +
    5. Bump the package version using npm version vMAJOR.MINOR.PATCH -m "bump npm version to vMAJOR.MINOR.PATCH" (see #487)
    6. +
    7. Push the branch draft-release
    8. +
    9. Manually trigger the workflow build_icons.yml (which has a workflow_dispatch event trigger) and select the branch draft-release 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 draft-release
    10. +
    11. Review and approve the auto-create pull request created by the action of the step above
    12. +
    13. Create a pull request towards development. 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. Take the commits as a guideline. It's also a good idea to mention and thank all contributions who participated in the release (take description of #504 as an example).
    14. +
    15. Wait for review and approval of the pull request (DON'T perform a squash-merge)
    16. +
    17. Once merged create a pull request with BASE master and HEAD development. Copy the description of the earlier pull request.
    18. +
    19. Since it was already approved in the 'development' stage a maintainer is allowed to merge it (DON'T perform a squash-merge).
    20. +
    21. Create a new release using vMAJOR.MINOR.PATCH as tag and release title. Use the earlier created description as description of the release.
    22. +
    23. Publishing the release will trigger the npm_publish.yml workflow which will execute a npm publish leading to a updated npm package (vMAJOR.MINOR.PATCH).
    24. +
    \ No newline at end of file