-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Release Workflow
Fini Jastrow edited this page Oct 17, 2022
·
19 revisions
- Merge latest Pull Requests into the default branch that are for the latest milestone
- Pull Requests and Bug Fixes go directly into the default branch after basic testing
- Change to scripts dir (@todo fix reliance on dir)
# todo fixme cd bin/scripts
- Execute script
./release.sh <version>
- Manually update the
changelog.md
with all changes- see most recent release for example of the format: https://github.com/ryanoasis/nerd-fonts/releases
- make sure to credit each Pull Request by referencing the person with @ followed by their GitHub id
- the following is a template example:
## v<version>
### New Features
- Added xyz (fixes #101)
- Added ...
### Updates / Improvements
- Updated xyz (fixes #101) (PR #101 @someone)
- ...
### Fixes
- Fixed xyz (fixes #101) (PR #101 @someone)
- ...
- see diff comparison from last release vs default branch to ensure nothing is missed:
https://github.com/ryanoasis/nerd-fonts/compare/latest-release-branch...HEAD
- Navigate to http://sankeymatic.com/build/
- Enter the list of Flows, in the correct format. e.g.
Nerd Fonts [#] Glyph Set Name
Nerd Fonts [7] Powerline Symbols
Nerd Fonts [30] Powerline Extra Symbols
Nerd Fonts [675] Font Awesome
Nerd Fonts [170] Font Awesome Extension
Nerd Fonts [197] Devicons
Nerd Fonts [228] Weather Icons
Nerd Fonts [53] Seti UI + Custom
Nerd Fonts [172] Octicons
Nerd Fonts [29] Font Linux
Nerd Fonts [5] IEC Power Symbols
Nerd Fonts [8] Pomicons
Nerd Fonts [2119] Material Design
- Use the following settings
- for 'Size, Spacing & Shape:'
- Use all defaults, except
- for 'curviness': max "("
- for 'Vertical Space between Nodes': 20px
- for 'node width': '20px'
- Use all defaults, except
- for 'Colors:'
- for 'Node Colors: Use theme:' "A"
- "Labels & Units..."
- Use all defaults (used to use 'mono')
- 'Units: suffix' Use (with a leading space): ' icons'
- "Advanced"
- Select "Reverse the graph (flow right-to-left)"
- Export as 1x (basic) for PNG or just SVG
- for 'Size, Spacing & Shape:'
- Update the
readme.md
- If a new font was added, add it to the table of Patched Fonts
- If any new glyphs or glyph sets were added
- Update individual glyph tables
- Use an updated Sankey Diagram
- Update the "counts" in the Features Section
- You can get this information by simply passing a second param to the "all patcher":
./gotta-patch-em-all-font-patcher\!.sh "" info
- "
X
already patched font families" -> Give exact number from 'typefaces' line - "Over
X
unique combinations/variations..." -> round down to nearest hundred from 'variation' line - "Over
X
glyphs/icons combined" -> manual process for now (@todo)
- "
- You can get this information by simply passing a second param to the "all patcher":
- Update the "counts" in the Combinations Section
- Again, get this info from the "all patcher"
- Update the
font-patcher
help output section under "Patch Your Own Font" if needed
- verify
master
branch has all changes commited and pushedgit status -s
- update
master
from remotegit pull origin master
- create the new branch
- verify what the version should be by double checking remote branches
git branch -r | grep '[0-9]\+\.[0-9]\+\.[0-9]\+$'
git checkout -b <semver_based_branch_name>
- verify what the version should be by double checking remote branches
- push the new branch
git push -u origin <semver_based_branch_name>
- create tag
- "vMAJOR.MINOR.PATCH"
- i.e. same as branch name but with prefixed with a 'v'
- e.g.
git tag v1.5.3
- push latest tags
git push --tags
- Create new release on GitHub
- copy and paste latest release details from
changelog.md
into release notes
- copy and paste latest release details from
- Execute
upload-archives.sh
to upload font archives to the latest release- with no parameter given it will upload to the 'latest' release via GitHub API
- Verify font archives are showing for latest release
Update
All Contributors
- run:
all-contributors check
- ignore bots and compare differences between this release and the last, for example or if that does not work a good process is to check the release milestone and add the user to the CLI with appropriate contributions (e.g. code,doc,translation,... etc.)
- add or update the contributors with, e.g.:
all-contributors add <user> code,doc
- Spot check the changeset difference for issues
- Update the NerdFonts.com Website
Update the
Website
(GitHub pages)
- Checkout branch:
gh-pages
- Update the download links
- If there are new fonts add the new links
- Update the release notes
- Insert new release notes from changelog to the top
- Remove 'open' attribute from previous release container div
./font-patcher -ext ttf -out ./src/glyphs/ --complete ./src/glyphs/Symbols\ Template\ 1000\ em.ttf
./font-patcher -ext ttf -out ./src/glyphs/ --complete ./src/glyphs/Symbols\ Template\ 2048\ em.ttf
This Wiki and the Readme contains a lot of information, please take your time to read the information.
If you run into any trouble, please start by looking in the FAQ and if you still need help you can visit the Gitter Chat.
There is a heavily detailed Changelog and Release changes.
Be sure to read the Contributing Guide before opening a pull request to Nerd Fonts.
If you have any questions about the Nerd Fonts usage or want to share some information with the community, please go to one of the following places: