.github/workflows

Branch


Log

Author Commit Date CI Message
Fini Jastrow ad6ccb27 2025-05-21T10:55:43 CI: Create new FontPatcher.zip only at the end of release workflow [why] We have an obsolete glyhnames.json in the release FontPatcher.zip. [how] Packaging the FontPatcher.zip should be the last step when everything has already been updated. Some code from the zip-release.yml workflow is copied into the release.yml :-/ but we need to do it at the exact right time. Note that we need to commit-push before we call the github-pages-deploy-action. [note] Related: #1868 Reported-by: @subframe7536 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow dc4e3309 2025-04-24T20:21:16 CI: Prepare for update casks workflow run [skip ci] Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow b179e0fc 2025-04-22T15:48:53 CI: Fix broken font-patcher check [why] With commit 801fb9fe8 Update CascadiaCode to 2407.24 (PR #1844) we dropped the subdir structure of Cascadia Code. The workflow file did not follow that change. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 7b239672 2024-11-26T14:12:15 CI: Regenerate glyphnames before release [why] When the icon sets have changed (added or names changed) the i_*.sh files are (hopefully) up to date, but the glyphnames.json file is only updated on release. Unfortunately the font-patcher uses the glyphnames.json to determine the patched-in glyphs' names, but in the workflow the json file is only updated after all fonts have been patched. [how] Like the version number in the font-patcher file we also create a transient glyphnames.json in each patching job, that the font-patcher can then utilize. Still the in-repo glyphnames.json is only updated after successful release. So in pinciple we call the generate-css.sh (which also generates the glyphnames.json) once for every font in the font matrix (just before patching) and then finally after all patching has been done again and that is committed back to the repo. Fixes: #1745 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 4f29f88b 2024-11-18T14:56:19 CI: Change Cask commit title [why] To better fit Homebrew's naming scheme. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow bc5c717a 2024-05-16T08:43:52 CI: Adapt Homebrew Cask generation [why] The Cask-fonts repo has been incorporated into the main Cask repo. On releases we would use an obsolete repository to create the Cask into. The casks are now in a dedicated subdirectory (Casks/font) and under that we have one subdirectory for each font name starting character (to have a smaller number of files per directory I assume). [how] Change the repository path. Put part of the new (longer) path, the fixed part, just in the CI process, while the generator script takes care about the one-directory-per-startchar substructure. Fixes: #1635 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 6eaa595c 2024-11-18T13:10:27 CI: Prepare Casks release Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow c46764cd 2024-04-18T07:38:50 CI: Allow some tag to prevent locking old Issues [why] Suggested now fonts/glyphs/set are usually closed to keep the Issue list to real Issues and not suggestions. People should be able to further discuss that addition in the (closed) Issue and it will be evaluated on the next release. Anyhow, closing the Issue automatically locks it after half a year and no discussion is possible anymore. That was not intended. [how] Add new tag that keeps closed Issues unlocked and mark the addition Issues as such. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow c2cd3cdf 2024-04-12T11:11:44 CI: Add SHA256 checksums to release Fixes: #1578 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow e5b594fa 2024-04-04T12:25:01 CI: Prepare Casks release Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow ae7bc7cd 2024-04-03T16:54:17 CI: Adapt to new artifact actions Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow f1c2c0f3 2024-04-03T16:54:17 CI: Adapt to new artifact actions Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 0320a090 2024-04-03T16:32:40 CI: Fix gh-release action Finally there was a fixed release, see https://www.github.com/softprops/action-gh-release/pull/406#issuecomment-1986390444 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow c78ca635 2024-02-29T17:34:22 CI: Fixing the Fix First checkout the base, then nested stuff... Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow b64ee780 2024-02-29T17:26:59 CI: Fixup: contributors workflow [why] After changing from checkout-files to checkout we can not have two branches in one place. [how] Check the branches out in different directories and merge the needed files afterwards. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 767f6444 2024-02-29T11:39:00 CI: Fixup: Typo in release workflow Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 48156a78 2024-02-29T11:33:37 CI: Update all actions [why] Because we want to use Node 20 etc pp [how] Check for breaking changes and update. Also replace checkout-files by checkout with sparse-checkout; as they semselves encourage people to do. action-gh-release has been updated to Node 20 but has not been released with the change, so we access the latest version directly by hash. [note] Of course this is unchecked... what can ge wrong! :grimacing: Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow fc61e442 2023-11-21T16:10:40 CI: Prepare for update casks workflow run [skip ci] Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 090fbbee 2023-09-27T10:48:32 Sunset in-repo releases [why] We struggle with the pack-committing of patched fonts to the repository on release. This makes our repo grow extremely big. It would be better to just use release artifacts for the releases and not commit any patched font back. There were different approaches discussed, but the problem remains that I personally have no rights to implement anything of that - neither can I force push to the default branch, nor can I create new repos in the organization. [how] To make it still possible to add new fonts without a repo size explosion we do not release NEW fonts back to the repository as commits, but old fonts are handled as before. NEW fonts: * have a new property set in the fonts.yaml 'database' * are released as release artifact via release workflow (but not committed back) * get a readme in the patched_fonts/ directory that points to the release artifact page The solution is not ideal, but for sure better than not adding any fonts anymore or having the repo grow in size faster and faster. At some point in time I would like to phase out all in-repo releases, also for OLD fonts. This scheme has been (manually) used / introduced for Intel One. With this change the .gitignore file is automatically adapted to any new font that is added with the repoRelease flag set to false (which should be the default for any added font from now on). Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow f29c62ab 2023-07-26T14:10:28 standardize-and-complete-readmes: Allow to link releases [why] Some fonts will not be released to the repo; but only exist patched as release atrifacts. This needs adapted readmes. [how] If such a font is encountered direct links to the release archives are put into the readme file. Decide based on information in the font.json file. If no info is found in the json file (i.e. all existing fonts) it defaults to release-also-to-repo behavior. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow f64ff337 2023-06-05T12:29:04 CI: Fix casks workflow [why] The dowload turns up empty. This is because we specify a glob while we need to specify a regex. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 89375a65 2023-06-05T12:09:20 CI: Prepare for update casks workflow run [skip ci] Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 5eebd954 2023-06-02T19:28:55 fetch-archives: Allow to specify a regex [why] Now where we have zip and tar.xz archives one might want to just fetch one specific one. So we need to have a pattern not only for the beginning of the file name. [how] Enable full regexes for the filtering. For this we need to escape blanks in the pattern/regex, that a user might specify (./fetch-archive.sh v2.2.2 'Some Font'). [note] This is already then used for the casks workflow, as that only needs the zips. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow d8008463 2023-05-31T13:24:34 CI: Add shellcheck Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow f6f80995 2023-06-02T12:30:27 archive-fonts: Create tar.xz packs See #1233 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow b90ffd59 2023-06-02T11:43:21 docker: Re-add "master" tag [why] Previously we had the tag 'master' set in all images, as the images were created with every push the default branch (i.e. master). Some people might use that tag for something. At least we can not remove the last image with 'master' tag, and it will become outdated immediately, making it a misnomer. [how] Add both tags. Hope this works ;-) Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 1394ade5 2023-06-02T11:29:52 docker: Fix release tag [why] Forgot the dollar... the {{version}} got me. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 72e81a2f 2023-06-02T11:14:09 docker: Add font-patcher version tags to container [why] The font-patcher version of a concrete container is a useful information if you want to use a not-latest version. [how] Add the font-patcher version, that is extracted by grep. Not the most stable of all solutions but I guess it is good enough. Fixes: #1267 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 98c1607d 2023-05-01T11:02:48 CI: Prepare for update casks workflow run [skip ci] Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow efe57c44 2023-04-27T18:44:48 Fix: Merge pull request #1179 [why] The font-patcher check workflow fails because the font used for testing is gone (replaced by differently named one). [how] Correct file names. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 96cd985b 2023-04-25T17:56:56 Drop counting variations stuff and unify readme creation [why] The variation lists are very long and noone will ever look at them. Instead we have a font-info.md file, for what reasons? [how] Replace the function the font-info.md file had with README.md. Drop all the variation lists. Automatically call the readme creation in the gotta-patch-em instead of just hinting that one should call that (standardize-and-complete-readmes.sh).
Fini Jastrow f4515ac3 2023-04-07T23:24:23 CI: Fix workflow after font file name change Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 95cae8fd 2023-03-16T14:35:55 Drop "Complete" from font names [why] Nowadays the Complete font is the normal font. We already dropped the partially patched fonts long ago. If someone is self patching they will know if it is a basic font or a complete font. And already now one can not see if the patched font is bare minimum (i.e. Seti, Custom, and Devi) or includes Powerline and/or PowerlineExtra. [how] Just drop "Complete" from the naming. [note] As the name changes and thus the file name a lot of the other scripts will break. But they might break anyhow because other naming changes, so fix that as last commit. See also commit 557fc004c Attempt to fix duplicate fonts in fontbook on osx Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 80f602e8 2022-12-21T21:24:40 font-patcher: Pull 'Mono' to front in names [why] When we crate a font we take the OriginalName, add "Nerd Font" and which patches we applied, and add "Mono" if --mono has been specified: OriginalName Nerd Font Complete Mono OriginalName Nerd Font plus Weather Mono But the 'Mono' part is quite important, but this scheme will put it in a place where it is easily out of view or has been removed (to keep the name short). This truncation is especially bad on Windows Compatiple and when the user installs both the 'Nerd Font' and the 'Nerd Font Mono': SomeVeryLongFontName Nerd Font Complete SomeVeryLongFontName Nerd Font Complete Mono become after truncation SomeVeryLongFontName Nerd Font Comp.ttf SomeVeryLongFontName Nerd Font Comp.ttf [how] Always put the "Mono" directly after "Nerd Font" and all the other name components come later. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow ad7cf8fa 2023-03-14T01:54:46 CI: Run lock.yml only once a week [why] After the initial locking of many issues (where we called the workflow once every hour, it can only process 50 items in one run), this high frequency is not needed anymore. [how] Just search for old closed issues once a week on monday morning. Also remove manual trigger. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 1fa53bc9 2023-03-12T21:57:11 Lock closed issues [why] Sometimes people comment on (long) closed issues because they have similar problems. But that is often just a me-too, and all the details to reproduce the issue are missing. [how] Lock old closed issues and add some comment that a new issue should be opened instead. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 3dde174c 2023-03-10T11:25:55 CI: Fix: Add font with references [why] The font is not available on the Github Workflow VM. [how] But we have it in the repo anyhow... Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 376e39e5 2023-03-10T11:03:18 CI: Add font with references [why] We had a bug that font-patcher crashes with fonts with references. [how] Just try such a font with all fontforge versions. Just tests if it patches, the patch result is not checked. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 368ba344 2023-03-02T12:14:49 generate-css: Create a json database with css names [why] Somebody might want to have a file where all symbols we add are listed. At the moment there are only the i_*.sh scripts and the CSS files. Both are rather unwieldy. [how] Just create a json file with all symbol names, like the CSS file. Fixes: #448 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 31cae9d0 2023-02-17T08:47:00 archive-font-patcher: Include version in readme [why] If we create the zip file not only on releases we need some better version information inside. We can not use the same approach with real releases, because we add the tag at a later stage in the workflow. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow d563f56a 2023-02-17T06:57:49 Cleanup zip-release [why] Some changes to bring it in line with the other workflows. [how] Sorted from short to long: * Name all steps * Correct trigger * Remove unused output * Simplify zipcmp decision * Use apt instead of apt-get * Update upload-artifact action * Remove some trailing whitespace * Remove name from artifact to prevent strange double zip name * Use ordinary checkout instead of sparse - we need it anyhow to commit [note] Ok, 'simplify zipcmd decision' that might be matter of taste. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow bc59f01e 2023-02-17T06:53:52 Rename archiver script [why] It is not really a release, it is just a convenience for people that want to download the current master patcher with all accessories. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
bri 9411186b 2023-02-09T14:37:03 add zipcmp conditional
bri b4fb1836 2023-01-10T12:16:58 On push to (specific paths within) master
bri be8c8d55 2023-01-09T16:52:30 let's change things, a lot
bri 27bfc9ad 2023-01-09T14:55:47 release master fontpatcher.zip
Fini Jastrow 7007410a 2023-02-02T07:52:14 Publish contributors after allcontributors [why] After adding a contributor with allcontributors the website is not updated. [how] Obviously there is a setting if a dependant workflow should be started. Set that value to 'true'. Also fix commented-out section of workflow triggers for 'release', that should not be triggered by allcontributors, when that is commented-in again (if ever). Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow b94dd2ca 2023-01-27T15:44:14 CI: Fix contributor update Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 7d79a489 2023-01-27T15:34:25 CI: Create CI for contributors update [why] It's a pain to have the addition of contributors automated via all-contributors bot, but then it does not end up on the webpage. [how] I'm not sure it will automatically be triggered (pretty sure it will not), but at least one can clickstart manually the workflow. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 28dd7f26 2023-01-24T13:45:50 Revert "DEBUG: "commits [why] The commits needed to be in the master branch, but that is protected, so we can not force push the commits away after debugging. Revert "DEBUG: Show directory contents" Revert "DEBUG: archive-fonts.sh" Revert "DEBUG: Add more of original workflow" This reverts commit 40f6990282e6709d051b73fd7dba7fe6a908da1b. This reverts commit 9e3fdefeba175cbb7f01b123690eae57d11c1053. This reverts commit 5e8b8c6ed52806e5ca985ed35b610ce50b02dc74. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 40f69902 2023-01-24T00:50:22 DEBUG: Show directory contents
Fini Jastrow 9e3fdefe 2023-01-24T00:36:36 DEBUG: Add more of original workflow
Fini Jastrow 5e8b8c6e 2023-01-24T00:16:09 DEBUG: archive-fonts.sh [why] Somehow the license file is missing from the release run. It is present if I run it on the local machine. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow d44d88d5 2023-01-22T15:12:22 CI: Deactivate release workflow [why] More often than not (i.e. almost always) I cancel the release workflow. The problem is that a release workflow will patch all fonts, and all fonts will differ (at least in the timestamp) and so the repo will grow A LOT. Usually you want to be really conciously deciding that the growth is really warranted, and no automatic can do that. I guess one could trigger rebuilding the zip archives but not commiting the newly patched fonts back to the repo, but that is also a strange situation. [how] Release has now only a workflow-dispatch trigger, that must be clicked if a release workflow shall run. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow bb17fde9 2023-01-18T13:11:32 CI: Prepare for update casks workflow run [skip ci] Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 16ad39fe 2023-01-18T11:18:57 CI: Fix release workflow [why] Release workflow for 2.3.0 stopped. The script generate-webfonts.sh needs fontforge which was not installed. [how] Install the (ordinary) fontforge. As we just export the woff we can live with whatever version is available. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 78bf5c3d 2023-01-13T10:29:04 CI: Fix release workflow [why] When we rerun (on a release candidate) we end up with an error message: * Connection #0 to host api.github.com left intact Tag exists: "v2.3.0-RC" exists=true Error: Unable to process file command 'output' successfully. Error: Invalid format '"v2.3.0-RC"' ##[debug]System.Exception: Invalid format '"v2.3.0-RC"' [how] We want to set an output depending on the grep exit code but the grep output leaks into our value... Make grep silent. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 0154fe23 2023-01-06T11:20:39 CI: Update release to Fontforge January 2023 Release' [why] Fontforge had a new release. There is no particular error it fixes that we suffer on, but keeping up to date? Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 7f03f6c7 2023-01-06T10:24:32 CI: Update actions [why] The actions have several warnings. [how] Update them all. For example action-gh-release 0.1.14 runs on node12 which is deprecated. upload-artifacts 3 also switches to node16 and 3.1.1 removes obsolete set-output. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 48a0ff8e 2023-01-06T09:44:20 CI: Fix release run 2/2 [why] For some reason setting of some variables broke. [how] Did not spent any time to find the reason, just rewrote it in a more readable and debuggable manner and now it works (??!) Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow f7e5858d 2023-01-06T09:26:03 CI: Fix release run 1/2 [why] The release run does not work with the fontforge AppImage anymore. Obviously Github's 'ubuntu-latest' changed :-} [how] Install missing fuse. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 95a8f879 2023-01-06T09:17:05 CI: Enable parallel processing of patching Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 785089c6 2023-01-06T08:59:23 CI: Unify release timestamp [why] Although all font files of one font (directory) have the same timestamp the different fonts (e.g. Agave vs Roboto) have still slightly different timestamps. [how] Note the time when the release workflow has started. Use that as timestamp for all fonts. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 49e98b64 2023-01-06T08:25:51 CI: Add FontForge January 2023 Release to tests Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow aef01c4f 2022-12-16T17:01:54 CI: Automatically deploy webfonts [skip ci] [why] The webfonts are needed for the cheat sheet. When we update the sheet code we probably need also new fonts. The fonts might contain fixes also if there is no need for a new sheet, so they have to be updated on every release. [how] Add mini-script that generates the woff's from the latest 'ttf'. This makes it easier to check the woffs manually. Let the workflow create the woffs, and push them to the gh-pages. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 3de381d5 2022-12-16T12:43:32 CI: Automatically deploy Cheat Sheet [skip ci] This must have been somehow forgotten. I did try if the autogenerated file works, and it did. See commit bcef53da Update cheat sheet September 2022? I have no recollection at all :-( Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 4fba05a7 2022-12-16T12:16:51 CI: Keep i_seti.sh in sync with autogenerated font [why] Although we automatically create a new up to date i_seti.sh on all original-source.otf updates, we do not push it to the repo together with the font. [note] Also include up-to-date i_seti.sh because the workflow will not trigger until we have new icons and the font does actually change. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 78ff9893 2022-12-14T09:50:30 CI: Create casks not only for HeavyData [skip ci] [why] Limited that for faster debugging, forgot to remove. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 762be5b6 2022-11-30T00:00:18 CI: Add new workflow to create all casks [skip-ci] Now we can create the casks of some specific release ('latest' in this case) at will, based purely on the artifact files and on nothing in the repo. We do not even need to fetch the repo. This is still some kind of WIP, because we do not have the secrets and not even a proper homebrew fork in our organization. THIS WILL NOT WORK out of the box. Refer to PR #1008 to get instruction on additional steps needed to make this run. [note] Remove cask generation from normal release workflow. Later on the release workflow has to trigger the cask workflow. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 22e5b2e9 2022-11-28T13:03:57 casks: Create new cask files on CI runs (again) Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 498ebf37 2022-12-04T12:28:01 CI: No not run the release workflow on forks [why] When you have a fork of this repository and push anything to master the release workflow is automatically run. This is usually not what people want. They want to push some changes to the fork's master and create a Pull Request. [how] Only run the release workflow on the original repo. If they really want to create their own release they would have to remove this line (or adapt). Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow df58a780 2022-10-28T19:04:57 CI: Entice docker to create arm64 container [skip ci] Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 1322285f 2022-10-28T11:32:29 CI: Tag every created docker with 'latest', really [skip ci] [why] Obviouly a type, `auto` vs `true` .... Can not force push. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 52799046 2022-10-28T11:23:14 CI: Tag every created docker with 'latest', as before [skip ci] [why] Tagging behavior changed with inclusion of the Meta action. Previously every docker-rebuild has been tagged 'latest', that is now missing. [how] Enforce latest tag. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 018bedb9 2022-10-28T11:10:21 CI: Enable manual docker rebuilds [skip ci] Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 3cc1d20b 2022-10-28T11:02:12 CI: Small changes on docker workflow [why] Credentials not needed (I guess). Workflow is never run on pull-requests, so no check needed. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Sam McLeod 3f755e48 2022-10-28T08:15:46 feat: use standard Docker build Actions
Fini Jastrow 83d41b62 2022-10-18T20:47:29 CI: Fix workflow for the gh-pages (still ongoning?) [skip ci] [why] checkout-files checks out the last version on the push target branch, not the version we actually pushed. checkout clears all the workspace, so out file we want to commit is lost. [how] Use commit hash from just pushed commit. Use temporary directory outside of workspace to store the file. Unfortunately we haved to copy back because github-pages-deploy-action seems to take no absolute paths. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 65eaac85 2022-10-18T18:57:03 CI: Fix workflow for the gh-pages Well, ... we need to fetch the git repo, as the deploy action needs it. Which is documented... :-} Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 1061a623 2022-10-18T18:37:02 CI: Add workflow for the gh-pages [skip ci] [why] A lot of the stuff in the gh-pages is not yet automatized. See bin/scripts/README.md items with "[3]". [how] Start at least with the fonts database file. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 49878a2f 2022-10-13T16:28:02 CI: Remove set-output commands [skip ci] [why] The set-output command will be removed, see [1]. [how] Use output environment file instead. [1] https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 5fe83128 2022-10-12T14:02:08 ci: Change commit message of rebuild [skip ci] [why] Messages should be in the imperative form. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 3fd15de2 2022-09-21T11:55:48 CI: Try to commit changes only if we optimized some svgs [why] When so svg files could be optimized we still try to commit the 'changes'. There are no changes - so nothing is committed (empty commits are avoided). But the workflow run still shows the 'commit back to repo' step, although we know beforehand that it will not commit anything. [how] Technically that is no problem and the behavior is unchanged, but we can just skip the commit step if we know there can not be anything to commit... It just looks nicer :-} Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 725344de 2022-09-20T14:31:30 CI: Fix unneeded font rebuild commits [why] Despite commit cc2b54770 generate-original-source: Remove FFTM table we still get unneeded font rebuilds. The reason is that the font creation time is not only encoded in FFTM but also in HEAD. [how] We could simply diable timestamps also in HEAD, but that would leave us with a strange font; strange because no one knows when it has been created. Instead we take the more laberous route here: Do detect changes and not rely on the git history: * Find out current font's creation date * Create the font anew with that date as creation date * If the 'real' font content is unchanged we would now have a 100% identical new font file; we can detect that with `git diff` * If it is not identical, something apart from the timestamp has changed and we create the font again, this time with the real current time as timestamp and commit that file back to the repo This only works if creation and modification time are always the same on all font creations; we need to ensure this by always using the SOURCE_DATE_EPOCH method, even for 'normal' font creation. This is a bit more involved than what I would have hoped for, but there seems to be no easy solution. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 73ae4a96 2022-09-19T11:43:54 CI: Optimize original glyph svgs [why] Often the SVGs are rather detailed and result in a big original-source.otf, which then again results in bigger than needed patched fonts. [how] Typically people suggest using svgo to make SVGs smaller, but that just tackles the representation of the icon, i.e. the actual svg file. That does not help us at all. We do not need small svg files, we need simple icons with few points and lines. svgo does not have that capability. Instead Inkscape's 'Simplify' is used. Repeated use can destroy a glyph, so we need a scale down margin to stop 'over-simplification'. The values given for the margin at the moment are purely empirical, the current glyphs survive repeated use of the new simplification script and still look good. The resultant original-source.otf file size is approximately similar to the previously achieved by Ryan's manual work. [note] We need a newer Inkscape, thus update to Ubuntu 22.04 Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow acafd636 2022-09-18T16:11:03 CI: Add workflow for source font generator Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 50657caa 2022-09-11T14:37:40 CI: Do not fetch on add-and-commit [why] The add-and-commit steps are so unbelievable slow. [how] We do not need the other tags, so we do not need a fetch before adding. See comments on the action's homepage. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 134c5188 2022-09-10T18:19:45 CI: Generate CSS and push to repo and gh-pages Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 51b99e0a 2022-08-30T10:21:28 CI: Disable cask creation (for now) [skip ci] [why] After discussion with https://github.com/Homebrew/homebrew-cask-fonts/pull/6167#issuecomment-1229152446 I assume we would never use this in CI. It can be helpful for new fonts, but even then they suggest using the tools provided (i.e.`font-casker`): https://github.com/Homebrew/homebrew-cask-fonts/blob/master/CONTRIBUTING.md#automatic-generation Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 6c2d3ec7 2022-08-30T10:18:42 CI: Fix cask artifact upload [why] The casks-artifact is empty. [how] Supply the correct path for the upload. For this the generator script prints the output pathname(s), which in turn are used in the CI. Also drop unneeded '/' from path end. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow f4f19ea0 2022-08-26T14:24:47 CI: Fix hopeless-docker prevention [why] I am sure I tested it and it worked. Well, it does not, it throws an error message Unrecognized named-value: 'secrets' [how] Secrets can not be used in the `if`, see https://github.com/actions/runner/issues/520 But they can be used in `env`, ... so do it there. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 75ce8992 2022-08-26T18:01:17 CI: Mark release "draft" while creation [why] We create the release packages one by one in a lot of jobs. Whenever a job is ready it adds its package to the release. This means that the release starts with one archive and grows over the next 5 (!) hours. (Noto takes about 5h to patch.) But people will be notified and find the new *unfinished* release, which can raise questions or problems. [how] Mark the release 'draft'. Unfortunately I can not find (quickly, now) a way to un-draft the release so this has to be done manually. Maybe it is better anyhow, so that one can edit the release message etc. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 1d6aa174 2022-08-26T10:54:36 CI: Prevent docker release when hopeless [why] On forks for example they might have a docker repo associated or not. The release process is run in any case and will fail in that cases. [how] Check that at least the secret is known. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 43b5af62 2022-08-26T10:52:36 CI: Fix docker release trigger [why] The docker image should be rebuilt whenever a file that will end up in the container has been changed. So this needs to be in line with the .dockerignore file. [how] Add missing (new) `font-patcher` sub-scripts. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow a777d530 2022-08-26T07:33:56 CI: Use jq to process package.json [why] `grep` and `awk` do not know json. This might break if some format changes or whatever. [note] The font matrix setup is also with `jq`. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow e972eb07 2022-08-25T14:16:31 CI: Prepend release tags with a "v" [why] Usually release tags and versions start with a "v", and we also had that up to 2.1.0: $ git tag -l 2.2.0-RC FontPatcher v0.1.0 v0.1.1 v0.1.2 v0.2.0 v0.2.1 v0.3.0 v0.3.1 v0.4.0 v0.4.1 v0.5.0 v0.5.1 v0.6.0 v0.6.1 v0.7.0 v0.8.0 v1.0.0 v1.1.0 v1.2.0 v2.0.0 v2.1.0 [how] In the files we keep the non-"v" version numbers, but the tags on github shall be prepended with a "v" like "v2.2.0-RC". The variable RELEASE_TAG_VERSION is renamed to RELEASE_VERSION to make clear that this is not the name of the tag. Where we reference a tag, "v$RELEASE_VERSION" is used. [note] One of the environment variable is not needed, we can use the output directly. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 967036e7 2022-08-25T08:59:23 CI: Fix fontconfig and casks [why] The fontconfig and cask generation seems unfinished or broken. [how] Fix the point in time when the fontconfig is generated and commit any changes back to the repo. Generate the casks and store them as CI artifacts at least. Probably they should be uploaded to the cask repo (on 'real' releases)? Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 039f5baf 2022-08-25T14:03:34 CI: Allow releases on package.json change [why] The release workflow is triggered on a lot occasions, but not on changes of the package.json file. But that file contains our version number and when we change it we should create a new release. At least is that how I would imagine it working. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow 3c78eb7f 2022-08-25T12:51:27 CI: Make commits from the action stand out more Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Fini Jastrow bc87b361 2022-08-24T19:49:25 CI: Prevent rolling release on normal releases [why] The release CI is run every time something is pushed to master. This is useful if we are on a release candidate. The release will be updated. But if we do a normal release and afterwards push some new commit to master - before we update the version in the package.json to a RC - the actual (fixed) release will also be updated. [how] Determine if we have a * new normal release * new prerelease * updated prerelease and run the release process itself only in that cases. [note] The release is checked for via API instead of an action, because the typical action needs a complete checkout (works on the local git repo). Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>