Skip to content

Our automated tasks and bots

Jørgen Kalsnes Hagen edited this page Nov 19, 2022 · 5 revisions

We rely on GitHub Actions, Python, Selenium, Imgur, and Gulp to automate our tasks. Please feel free to take a look at the workflow files. The codes should be clear enough to follow along.

Here are the main bots/scripts that we use:

peek-bot

Upload the icons to Icomoon and see what it looks like. Doesn't download any icons at this time.

build-bot

Build the icons by uploading them to Icomoon and download the resulting icon files. This also includes updating the css file and optimize the SVGs by minifying them and prefixing their IDs with the file names.

check-bot

Check only the icon PRs and ensure they have the correct SVGs and devicon.json entry.

npm-release-bot

Update the NPM package.

Here are the modular tasks in the build script:

  • Upload SVGs to icomoon.io and get the icons back. For details, see the original disscussion, this PR that introduce the feature and the final changes to it. Used by peek-bot and build-bot.
  • Preview what an SVG would look like as an icon using the upload svgs script (see this). Used by peek-bot.
  • Build, combine, and minify CSS files. For details, see this. Used by build-bot.
  • Send screenshots to Imgur and upload it to a PR. See the PR for the Imgur action and the PR for uploading the pictures to a PR. Used by peek-bot and build-bot.
  • Ensure code quality is up to standard
  • Comment on the PR so maintainers don't have to manually upload icon result. Used by peek-bot and build-bot.
  • Publishing a new release to npm; See #288
  • Creating a list of features that was added since last release. See this discussion for inception and limitations.
  • Optimize the SVGs by minifying them and prefixing their IDs with the file names. This is done so using inline SVGs from this repository will not cause ID clash.

Clone this wiki locally