Between Figma, Github releases and NPM modules, it’s getting tricky to keep things in sync.
Implement a release process using milestones.
- We always have an active milestone
- New requests for icons and icon changes are added as Github issues
- As we complete them, we add them to the milestone
- Every few weeks, one of us goes through the release process (if we have enough changes, this won't be very often)
This is pretty tedious. If there are parts that could be simplified or automated, let's do it.
Each release starts with a milestone whose name includes the new version number. Create issues for all changes (to icons or otherwise) to be made.
Address the icon changes in Figma. Use the Export helper plugin to prepare clean, exportable frames. Check the dev console in Figma for issues.
- Export the icons from Figma into your local version of the repo.
- Run
npm run build
to create optimized files (this may introduce issues, as the SVG code gets modified) - Run
npm run prepublishOnly
to prep the modules for local testing
Locally verify icons render correctly. You can use the bitcoinicons.com repo for the Vue module.
This is an example of installing the pre-published module and running the site.
npm uninstall @bitcoin-design/bitcoin-icons-vue
npm install {{ your workspace directory }}/Bitcoin-Icons/vue
npm run serve
There is a simple test project you can use.
npm i
npm uninstall @bitcoin-design/bitcoin-icons-react
npm install {{ your workspace directory }}/Bitcoin-Icons/react
npm start
There is a simple test project you can use.
npm i
npm uninstall @bitcoin-design/bitcoin-icons-svg
npm install {{ your workspace directory }}/Bitcoin-Icons/raw
npm run serve
Increase version numbers in the 4 package.json files (main folder, vue folder, react folder, raw folder). Update the 3 README files as needed (main folder, vue folder, react folder).
If everything looks good, create a branch and PR with the updated icons. Name it like "Milestone 0.1.7". Get it reviewed and merged.
From the /vue
folder, run npm publish
.
From the /react
folder, run npm publish
.
From the /raw
folder, run npm publish
.
This is the ZIP file linked to from the site to download all icon SVGs at once. Create a release branch that only includes the icons. Link it to the milestone. Create the release.
Re-publish the file to Figma community with the new version number and a short update.
Update the module in the repo, compile the plugin, test it, and re-publish the plugin to Figma community with the new version number and a short update.
14. Update bitcoinicons.com
Update it to latest published version. Branch, PR, review & merge.
Review it all to ensure the icons are looking badass.
Create a new milestone that new issues can be added to.