-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Our automated tasks and bots
Thomas Bui edited this page Jan 2, 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/script 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 anddevicon.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.
- What Icons Do We Accept?
- Requesting an Icon
- Overview on Submitting Icons
- Full Example of Submitting Icons
- Recommended Resources and Tools
- About the Maintainers, Supporters, and Contributors
- Code of Conduct
- Naming Conventions
- Organizing SVGs
- SVG Standards
- SVG Versions
- Updating
devicon.json
- Common Bugs and Solutions