[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>
[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! 😬
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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).
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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 40f6990282.
This reverts commit 9e3fdefeba.
This reverts commit 5e8b8c6ed5.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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>
[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>