Work around a bug with too many open files in versions before v4.3.5 and
also in v4.3.6 due to a revert. The relevant error message is:
Error: EMFILE: too many open files
We applied the same workaround to release/30.2.
By not specifying a checkout ref, actions/checkout does a second
checkout when this action is invoked by the Publish workflow (release
event). When this happens, it checks out the commit object from the tag,
and git can no longer locate the annotated tag that contains the release
notes. This then causes the release notes to be just the commit message
and not the annotated tag message.
The sparkle-appcast action in general and this actioo when invoked via
the Dispatch workflow do not have this issue, and they both specify the
tag as the ref.
This is one of the few remaining actions in this repo that was still
using node16. Updating will remove the associated warnings. Also, pin to
the v0.5.0 commit.
Effectively revert 743117f080.
This action began failing recently. Updating the Dockerfile per the
action's repo did not fix this. Unpinning Sphinx fixed it.
Using git's diff-filter when checking for changed files allows the
actions to ignore any deleted files. Combined with explicitly passing
glob expressions for source files to git directly allows the command
to yield a list of changed files compatible with a given formatter
directly.
The upload step in the job uses the output of two prior steps as its
condition. One of the jobs itself is a conditional job, so if the
primary condition is not met, the secondary output is not set and the
fromJSON call will fail.
Using a string comparison allows the check to still work as expected
(as the output will be an empty string otherwise)
Before the CI checks for source code and CMake files would always
check the entire source code even if just a single files has been
changed.
With this update, the formatting script is enhanced to accept a list
of files (which is generated as a condition to run the script in the
first place) which ensures that a PR will only fail validation over
files it changed itself.
Python 3.11 and later support a system-wide configuration setting that
marks the system packages as "externally managed" (e.g. to force using
apt packages instead of pip packages).
This breaks installation of the modules necessary to run the validators,
so use a virtual environment instead.
When a prior scheduled nightly run is detected with the identical
commit hash, then the entire language file check should be skipped.
This adds the missing condition to skip the check for changed files
removing the unnecessary warning contained in the workflow results.