Tip
Hire Tang Rufus!
I am looking for my next role, freelance or full-time. If you find this tool useful, I can build you more dev tools like this. Let's talk if you are hiring PHP / Ruby / Go developers.
Contact me at https://typist.tech/contact/
See action.yml and the underlying script typisttech/php-matrix.
- uses: typisttech/php-matrix-action@ee26ae37ffb37246b9a3912b71d95b661ad341b8 # v2.0.8with:
# Path to composer.json## Default: composer.jsoncomposer-json: some/path/to/composer.json# Version format## Available modes:# - `minor-only`: Report `MAJOR.MINOR` versions only# - `full`: Report all satisfying versions in `MAJOR.MINOR.PATCH` format## Default: minor-onlymode: full# Source of releases information## Available sources:# - `auto`: Use `offline` in `minor-only` mode. Otherwise, fetch from [php.net]# - `php.net`: Fetch releases information from [php.net]# - `offline`: Use [hardcoded releases] information## [php.net]: https://www.php.net/releases/index.php# [hardcoded releases]: https://github.com/typisttech/php-matrix/blob/main/resources/all-versions.json## Default: autosource: offline# PHP Matrix version## The version of [php-matrix] to use. Leave blank for latest. For example: v1.0.2## [php-matrix]: https://github.com/typisttech/php-matrix## Default: ''version: v1.0.2# Verify Attestation## Whether to verify PHP matrix tarball attestation## Default: trueverify-attestation: false# Github Token## GitHub token to use for authentication## Default: ${{ github.token }}github-token: ${{ secrets.GITHUB_PAT_TOKEN }}| Key | Description | Example |
|---|---|---|
constraint | PHP constraint found in composer.json | ^7.3 || ^8.0 |
versions | String of an array of all supported PHP versions | In minor-only mode, ["7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4"]In full mode, ["7.4.998", "7.4.999", "8.4.998", "8.4.999"] |
lowest | Lowest supported PHP versions | In minor-only mode, 7.3In full mode, 7.3.0 |
highest | Highest supported PHP versions | In minor-only mode, 8.4In full mode, 8.4.2 |
Tip
Hire Tang Rufus!
There is no need to understand any of these quirks. Let me handle them for you. I am seeking my next job, freelance or full-time.
If you are hiring PHP / Ruby / Go developers, contact me at https://typist.tech/contact/
Run tests against all supported PHP versions.
name: Teston:
push:
jobs:
php-matrix:
runs-on: ubuntu-latestoutputs:
versions: ${{ steps.php-matrix.outputs.versions }}steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2with:
sparse-checkout: composer.jsonsparse-checkout-cone-mode: falsepersist-credentials: false
- uses: typisttech/php-matrix-action@ee26ae37ffb37246b9a3912b71d95b661ad341b8 # v2.0.8id: php-matrixtest:
runs-on: ubuntu-latestneeds: php-matrixstrategy:
matrix:
php-version: ${{ fromJSON(needs.php-matrix.outputs.versions) }}steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2with:
persist-credentials: false
- uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # masterwith:
php-version: ${{ matrix.php-version }}
- run: composer install
- run: composer testRun tests on the highest supported PHP version only.
name: Teston:
push:
jobs:
test:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2with:
persist-credentials: false
- uses: typisttech/php-matrix-action@ee26ae37ffb37246b9a3912b71d95b661ad341b8 # v2.0.8id: php-matrix
- uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # masterwith:
php-version: ${{ steps.php-matrix.outputs.highest }}
- run: composer install
- run: composer test- PHP Matrix
CLI to generate PHP version matrix according to
composer.json - Composer Audit to SARIF Action Convert Composer audit reports to SARIF files in GitHub Actions
- WP Sec Adv Composer repository for WordPress security advisories
- WP Org Closed Plugin Composer plugin to mark packages as abandoned if closed on WordPress.org
- comver Work with composer supported versions in Go
- WPry Parse WordPress plugin and theme headers
PHP Matrix Action is a Typist Tech project and
maintained by Tang Rufus, freelance developer for hire.
Full list of contributors can be found on GitHub.
This project is a free software distributed under the terms of the MIT license. For the full license, see LICENSE.
Feedbacks / bug reports / pull requests are welcome.