While workflows are disabled by default in forks, it is quite common for contributors to enable them to verify CI will pass before submitting a pull request.
When enabling workflow runs in forks, it's "all or nothing".
This means that:
* All workflows which are only intended to be run on the canonical repo will also be enabled.
These workflows will also often need access to repo-specific secrets and will typically fail when run from a fork.
* Workflows which contain cron jobs will also be enabled.
Depending on the type of account the contributor has, this can burn through their "CI minutes".
This commit is based on a review of workflows containing cron jobs and disables running the jobs when a cron job is triggered in a fork.
I also realized that - while not mentioned in the changelog or the readme - PHP 8.3 _is_ already available via the `setup-php` action runner, so I've added it to the README now.
Ref: https://www.php.net/supported-versions.php
The update doesn't actually contain any changed functionality, it's mostly just a change of the Node version used by the action itself (from Node 12 to Node 16), but see the changelog for more info.
Refs:
* https://github.com/actions/cache/releases/
All Composer commands used in CI should use `--no-interaction` to prevent them hanging in case interaction is expected. However, as setupPHP sets the `COMPOSER_NO_INTERACTION` flag (as of this version), this is not needed when using setupPHP.
This removes redundant `--no-interaction` arguments from the example code.
Also see: https://blog.packagist.com/composer-2-2/#more-secure-plugin-execution
Not every developer will be familiar with all tools.
By linking the tools listed to the relevant documentation website, the discoverability of tools new to a developer is improved.
Phive has released version `0.15.0` which ups the minimum supported PHP version to PHP 7.3.
This adds the switch statement for Phive to take this into account.
Ref: https://github.com/phar-io/phive/releases