{"id":26796045,"url":"https://github.com/typisttech/php-matrix-action","last_synced_at":"2026-05-24T01:00:29.470Z","repository":{"id":268968899,"uuid":"905796666","full_name":"typisttech/php-matrix-action","owner":"typisttech","description":"Generate PHP version matrix according to `composer.json`","archived":false,"fork":false,"pushed_at":"2026-05-23T23:02:55.000Z","size":102,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-24T00:06:05.061Z","etag":null,"topics":["ci","github-actions","php"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/typisttech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["tangrufus"],"custom":["https://typist.tech/donation/"]}},"created_at":"2024-12-19T14:39:49.000Z","updated_at":"2026-05-23T22:02:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"66e28e5e-de2f-41f0-88c3-7b775eb129c9","html_url":"https://github.com/typisttech/php-matrix-action","commit_stats":null,"previous_names":["typisttech/php-matrix-action"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/typisttech/php-matrix-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typisttech%2Fphp-matrix-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typisttech%2Fphp-matrix-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typisttech%2Fphp-matrix-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typisttech%2Fphp-matrix-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typisttech","download_url":"https://codeload.github.com/typisttech/php-matrix-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typisttech%2Fphp-matrix-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33417489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"ssl_error","status_checked_at":"2026-05-23T22:14:43.778Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","github-actions","php"],"created_at":"2025-03-29T18:17:07.105Z","updated_at":"2026-05-24T01:00:29.319Z","avatar_url":"https://github.com/typisttech.png","language":null,"funding_links":["https://github.com/sponsors/tangrufus","https://typist.tech/donation/"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# PHP Matrix Action\n\n[![GitHub Release](https://img.shields.io/github/v/release/typisttech/php-matrix-action)](https://github.com/typisttech/php-matrix-action/releases/latest)\n[![GitHub Marketplace](https://img.shields.io/badge/marketplace-php--matrix-blue?logo=github)](https://github.com/marketplace/actions/php-matrix)\n[![Test](https://github.com/typisttech/php-matrix-action/actions/workflows/test.yml/badge.svg)](https://github.com/typisttech/php-matrix-action/actions/workflows/test.yml)\n[![License](https://img.shields.io/github/license/typisttech/php-matrix-action.svg)](https://github.com/typisttech/php-matrix-action/blob/master/LICENSE)\n[![Follow @TangRufus on X](https://img.shields.io/badge/Follow-TangRufus-15202B?logo=x\u0026logoColor=white)](https://x.com/tangrufus)\n[![Follow @TangRufus.com on Bluesky](https://img.shields.io/badge/Bluesky-TangRufus.com-blue?logo=bluesky)](https://bsky.app/profile/tangrufus.com)\n[![Sponsor @TangRufus via GitHub](https://img.shields.io/badge/Sponsor-TangRufus-EA4AAA?logo=githubsponsors)](https://github.com/sponsors/tangrufus)\n[![Hire Typist Tech](https://img.shields.io/badge/Hire-Typist%20Tech-778899)](https://typist.tech/contact/)\n\n\u003cp\u003e\n  \u003cstrong\u003eGenerate PHP version matrix according to \u003ccode\u003ecomposer.json\u003c/code\u003e\u003c/strong\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  Built with ♥ by \u003ca href=\"https://typist.tech/\"\u003eTypist Tech\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n\u003e [!TIP]\n\u003e **Hire Tang Rufus!**\n\u003e\n\u003e I am looking for my next role, freelance or full-time.\n\u003e If you find this tool useful, I can build you more dev tools like this.\n\u003e Let's talk if you are hiring PHP / Ruby / Go developers.\n\u003e\n\u003e Contact me at https://typist.tech/contact/\n\n---\n\n## Usage\n\nSee [action.yml](action.yml) and the underlying script [`typisttech/php-matrix`](https://github.com/typisttech/php-matrix/#options).\n\n```yaml\n  - uses: typisttech/php-matrix-action@ee26ae37ffb37246b9a3912b71d95b661ad341b8 # v2.0.8\n    with:\n      # Path to composer.json\n      #\n      # Default: composer.json\n      composer-json: some/path/to/composer.json\n\n      # Version format.\n      #\n      # Available modes:\n      #   - `minor-only`: Report `MAJOR.MINOR` versions only\n      #   - `full`: Report all satisfying versions in `MAJOR.MINOR.PATCH` format\n      #\n      # Default: minor-only\n      mode: full\n\n      # Source of releases information.\n      #\n      # Available sources:\n      #   - `auto`: Use `offline` in `minor-only` mode. Otherwise, fetch from [php.net]\n      #   - `php.net`: Fetch releases information from [php.net]\n      #   - `offline`: Use [hardcoded releases] information\n      #\n      # [php.net]: https://www.php.net/releases/index.php\n      # [hardcoded releases]: https://github.com/typisttech/php-matrix/blob/main/resources/all-versions.json\n      #\n      # Default: auto\n      source: offline\n\n      # PHP Matrix version.\n      #\n      # The version of [php-matrix] to use. Leave blank for latest. For example: v1.0.2\n      #\n      # [php-matrix]: https://github.com/typisttech/php-matrix\n      #\n      # Default: ''\n      version: v1.0.2\n\n      # Verify Attestation\n      #\n      # Whether to verify PHP matrix tarball attestation.\n\n      # Github Token\n      #\n      # GitHub token to use for authentication\n      #\n      # Default: ${{ github.token }}\n      github-token: ${{ secrets.GITHUB_PAT_TOKEN }}\n```\n\n### Outputs\n\n| Key | Description | Example |\n| --- | --- | --- |\n| `constraint`  | PHP constraint found in `composer.json` | `^7.3 \\|\\| ^8.0` |\n| `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\"]`\u003cbr\u003e\u003cbr\u003eIn `full` mode, `[\"7.4.998\", \"7.4.999\", \"8.4.998\", \"8.4.999\"]` |\n| `lowest` | Lowest supported PHP versions | In `minor-only` mode, `7.3`\u003cbr\u003e\u003cbr\u003eIn `full` mode, `7.3.0` |\n| `highest` | Highest supported PHP versions | In `minor-only` mode, `8.4`\u003cbr\u003e\u003cbr\u003eIn `full` mode, `8.4.2` |\n\n\u003e [!TIP]\n\u003e **Hire Tang Rufus!**\n\u003e\n\u003e There is no need to understand any of these quirks.\n\u003e Let me handle them for you.\n\u003e I am seeking my next job, freelance or full-time.\n\u003e\n\u003e If you are hiring PHP / Ruby / Go developers,\n\u003e contact me at https://typist.tech/contact/\n\n## Examples\n\n\u003cdetails open\u003e\n  \u003csummary\u003eRun tests against all supported PHP versions.\u003c/summary\u003e\n\n```yaml\nname: Test\n\non:\n  push:\n\njobs:\n  php-matrix:\n    runs-on: ubuntu-latest\n    outputs:\n      versions: ${{ steps.php-matrix.outputs.versions }}\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2\n        with:\n          sparse-checkout: composer.json\n          sparse-checkout-cone-mode: false\n          persist-credentials: false\n\n      - uses: typisttech/php-matrix-action@ee26ae37ffb37246b9a3912b71d95b661ad341b8 # v2.0.8\n        id: php-matrix\n\n  test:\n    runs-on: ubuntu-latest\n    needs: php-matrix\n    strategy:\n      matrix:\n        php-version: ${{ fromJSON(needs.php-matrix.outputs.versions) }}\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2\n        with:\n          persist-credentials: false\n      - uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # master\n        with:\n          php-version: ${{ matrix.php-version }}\n      - run: composer install\n      - run: composer test\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRun tests on the highest supported PHP version only.\u003c/summary\u003e\n\n```yaml\nname: Test\n\non:\n  push:\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2\n        with:\n          persist-credentials: false\n      - uses: typisttech/php-matrix-action@ee26ae37ffb37246b9a3912b71d95b661ad341b8 # v2.0.8\n        id: php-matrix\n\n      - uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # master\n        with:\n          php-version: ${{ steps.php-matrix.outputs.highest }}\n\n      - run: composer install\n      - run: composer test\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRun `$ composer audit` against all supported PHP versions.\u003c/summary\u003e\n\n```yaml\nname: Composer Audit\n\non:\n  push:\n\njobs:\n  php-matrix:\n    runs-on: ubuntu-latest\n    outputs:\n      versions: ${{ steps.php-matrix.outputs.versions }}\n      highest: ${{ steps.php-matrix.outputs.highest }}\n      lowest: ${{ steps.php-matrix.outputs.lowest }}\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2\n        with:\n          sparse-checkout: composer.json\n          sparse-checkout-cone-mode: false\n          persist-credentials: false\n\n      - uses: typisttech/php-matrix-action@ee26ae37ffb37246b9a3912b71d95b661ad341b8 # v2.0.8\n        id: php-matrix\n\n  composer-audit:\n    needs: php-matrix\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        php-version: ${{ fromJSON(needs.php-matrix.outputs.versions) }}\n        dependency-versions: [highest]\n        include:\n          - php-version: ${{ needs.php-matrix.outputs.lowest }}\n            dependency-versions: lowest\n          - php-version: ${{ needs.php-matrix.outputs.highest }}\n            dependency-versions: locked\n    env:\n      COMPOSER_NO_AUDIT: 1\n    steps:\n      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2\n        with:\n          sparse-checkout: |\n            composer.json\n            composer.lock\n          sparse-checkout-cone-mode: false\n          persist-credentials: false\n\n      - uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # master\n        with:\n          php-version: ${{ matrix.php-version }}\n          coverage: none\n      - uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0\n        with:\n          dependency-versions: ${{ matrix.dependency-versions }}\n\n      - run: composer audit\n```\n\u003c/details\u003e\n\n## Credits\n\n[`PHP Matrix Action`](https://github.com/typisttech/php-matrix-action) is a [Typist Tech](https://typist.tech) project and\nmaintained by [Tang Rufus](https://x.com/TangRufus), freelance developer [for hire](https://typist.tech/contact/).\n\nFull list of contributors can be found [on GitHub](https://github.com/typisttech/php-matrix-action/graphs/contributors).\n\n## Copyright and License\n\nThis project is a [free software](https://www.gnu.org/philosophy/free-sw.en.html) distributed under the terms of\nthe MIT license. For the full license, see [LICENSE](LICENSE).\n\n## Contribute\n\nFeedbacks / bug reports / pull requests are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypisttech%2Fphp-matrix-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypisttech%2Fphp-matrix-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypisttech%2Fphp-matrix-action/lists"}