GeezerVison is showing github.com — Add support for PHP 8.7.0-dev · setup-php/setup-php@f3d967b
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: .github/workflows/docs.yml +2-2Lines changed: 2 additions & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 20 | 20 | fail-fast: false | 21 | 21 | matrix: | 22 | 22 | operating-system: [ubuntu-24.04, ubuntu-22.04, windows-2022, macos-15] | 23 | | - php-versions: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5', '8.6'] | | 23 | + php-versions: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5', '8.6', '8.7'] | 24 | 24 | steps: | 25 | 25 | - name: Setup PHP | 26 | 26 | uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # v2 | @@ -125,7 +125,7 @@ jobs: | 125 | 125 | run: | | 126 | 126 | for os in ubuntu-24.04 ubuntu-22.04 windows-2025 windows-2022 windows-2019 macos-13 macos-14 macos-15 macos-26; do | 127 | 127 | echo "These are extensions which are loaded by default on the following PHP versions. More extensions which are available as packages and available on pecl are supported by setup-php. Refer to [php extension support](https://github.com/shivammathur/setup-php#heavy_plus_sign-php-extension-support) for more details." > Php-extensions-loaded-on-"$os".md | 128 | | - for version in 5.3 5.4 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 8.5 8.6; do | | 128 | + for version in 5.3 5.4 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7; do | 129 | 129 | if [[ "${os%-*}" = "macos" ]]; then | 130 | 130 | cat lists/php"$version"-macos-15.md >> Php-extensions-loaded-on-"$os".md | 131 | 131 | elif [ "${os%-*}" = "windows" ]; then | |
Collapse file Copy file name to clipboardExpand all lines: .github/workflows/php.yml +1-1Lines changed: 1 addition & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
| 32 | 32 | fail-fast: false | 33 | 33 | matrix: | 34 | 34 | operating-system: [ubuntu-24.04, ubuntu-22.04, windows-2022, macos-15] | 35 | | - php-versions: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5', '8.6'] | | 35 | + php-versions: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5', '8.6', '8.7'] | 36 | 36 | include: | 37 | 37 | - operating-system: ubuntu-24.04 | 38 | 38 | php-versions: '' | |
Collapse file Copy file name to clipboardExpand all lines: README.md +10-8Lines changed: 10 additions & 8 deletions - Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|
| 10 | 10 | <a href="https://github.com/shivammathur/setup-php" title="GitHub action to setup PHP"><img alt="GitHub Actions status" src="https://github.com/shivammathur/setup-php/workflows/Main%20workflow/badge.svg"></a> | 11 | 11 | <a href="https://codecov.io/gh/shivammathur/setup-php" title="Code coverage"><img alt="Codecov Code Coverage" src="https://img.shields.io/codecov/c/github/shivammathur/setup-php?logo=codecov"></a> | 12 | 12 | <a href="https://github.com/shivammathur/setup-php/blob/main/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg?logo=open%20source%20initiative&logoColor=white&labelColor=555555"></a> | 13 | | - <a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.6-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a> | | 13 | + <a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.7-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a> | 14 | 14 | </p> | 15 | 15 | <p align="center"> | 16 | 16 | <a href="https://reddit.com/r/setup_php" title="setup-php reddit"><img alt="setup-php reddit" src="https://img.shields.io/badge/reddit-join-FF5700?logo=reddit&logoColor=FF5700&labelColor=555555"></a> | @@ -112,9 +112,9 @@ Both `GitHub-hosted` and `self-hosted` runners are supported by `setup-php` on t | 112 | 112 |
| 113 | 113 | On all supported OS/Platforms, the following PHP versions can be set up as per the runner. | 114 | 114 |
| 115 | | -- PHP 5.3 to PHP 8.6 on GitHub-hosted runners, except for macOS ARM64 runners (macos-14). | 116 | | -- PHP 5.6 to PHP 8.6 on GitHub-hosted macOS ARM64 runners (macos-14). | 117 | | -- PHP 5.6 to PHP 8.6 on self-hosted runners. | | 115 | +- PHP 5.3 to PHP 8.7 on GitHub-hosted runners, except for macOS ARM64 runners (macos-14). | | 116 | +- PHP 5.6 to PHP 8.7 on GitHub-hosted macOS ARM64 runners (macos-14). | | 117 | +- PHP 5.6 to PHP 8.7 on self-hosted runners. | 118 | 118 |
| 119 | 119 | | PHP Version | Stability | Release Support | Runner Support | | 120 | 120 | |-------------|-----------|-----------------------|--------------------------------| | @@ -134,10 +134,11 @@ On all supported OS/Platforms, the following PHP versions can be set up as per t | 134 | 134 | | `8.4` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` | | 135 | 135 | | `8.5` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` | | 136 | 136 | | `8.6` | `Nightly` | `In development` | `GitHub-hosted`, `self-hosted` | | | 137 | +| `8.7` | `Nightly` | `In development` | `GitHub-hosted`, `self-hosted` | | 137 | 138 |
| 138 | 139 |
| 139 | 140 | > [!Note] | 140 | | -> - Specifying `8.6` in `php-version` input installs a nightly build of `PHP 8.6.0-dev` from the master branch of PHP. See [nightly build setup](#nightly-build-setup) for more information. | | 141 | +> - Specifying `8.7` or `master` in `php-version` input installs a nightly build of `PHP 8.7.0-dev` from the master branch of PHP. Specifying `8.6` or `nightly` installs a nightly build of `PHP 8.6.0-dev` from the PHP-8.6 branch. See [nightly build setup](#nightly-build-setup) for more information. | 141 | 142 | > - To use JIT on `PHP 8.0` and above, refer to the [JIT configuration](#jit-configuration) section. | 142 | 143 |
| 143 | 144 | ## :heavy_plus_sign: PHP Extension Support | @@ -431,7 +432,8 @@ Disable coverage for these reasons: | 431 | 432 | - Accepts a `string`. For example `'8.5'`. | 432 | 433 | - Accepts `lowest` to set up the lowest supported PHP version. | 433 | 434 | - Accepts `highest` or `latest` to set up the latest stable PHP version. | 434 | | -- Accepts `nightly` to set up a nightly build from the master branch of PHP. | | 435 | +- Accepts `nightly` to set up a nightly build of the next PHP release (`8.6`). | | 436 | +- Accepts `master` to set up a nightly build from the master branch of PHP (`8.7`). | 435 | 437 | - Accepts `pre-installed` to set up the highest pre-installed PHP version. You can combine this with `update: true` to update the pre-installed PHP version. | 436 | 438 | - Accepts the format `d.x`, where `d` is the major version. For example `5.x`, `7.x` and `8.x`. | 437 | 439 | - See [PHP support](#tada-php-support) for the supported PHP versions. | @@ -588,7 +590,7 @@ jobs: | 588 | 590 |
| 589 | 591 | ### Nightly Build Setup | 590 | 592 |
| 591 | | -> Set up a nightly build of `PHP 8.6`. | | 593 | +> Set up a nightly build of `PHP 8.6` or `PHP 8.7`. | 592 | 594 |
| 593 | 595 | - These PHP versions are currently in active development and might contain bugs and breaking changes. | 594 | 596 | - Some user space extensions might not support these versions currently. | @@ -598,7 +600,7 @@ steps: | 598 | 600 | - name: Setup nightly PHP | 599 | 601 | uses: shivammathur/setup-php@v2 | 600 | 602 | with: | 601 | | - php-version: '8.6' | | 603 | + php-version: '8.7' | 602 | 604 | extensions: mbstring | 603 | 605 | ini-values: post_max_size=256M, max_execution_time=180 | 604 | 606 | coverage: xdebug | |
Collapse file Copy file name to clipboardExpand all lines: __tests__/utils.test.ts +11-4Lines changed: 11 additions & 4 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -41,10 +41,17 @@ describe('Utils tests', () => { | 41 | 41 | }); | 42 | 42 |
| 43 | 43 | it('checking parseVersion', async () => { | 44 | | - const fetchSpy = jest | 45 | | - .spyOn(fetchModule, 'fetch') | 46 | | - .mockResolvedValue({data: '{ "latest": "8.1", "5.x": "5.6" }'}); | 47 | | - expect(await utils.parseVersion('latest')).toBe('8.1'); | | 44 | + const fetchSpy = jest.spyOn(fetchModule, 'fetch').mockResolvedValue({ | | 45 | + data: fs.readFileSync( | | 46 | + path.join(__dirname, '../src/configs/php-versions.json'), | | 47 | + 'utf8' | | 48 | + ) | | 49 | + }); | | 50 | + expect(await utils.parseVersion('latest')).toBe('8.5'); | | 51 | + expect(await utils.parseVersion('nightly')).toBe('8.6'); | | 52 | + expect(await utils.parseVersion('master')).toBe('8.7'); | | 53 | + expect(await utils.parseVersion('8.7')).toBe('8.7'); | | 54 | + expect(await utils.parseVersion('8.7.0')).toBe('8.7'); | 48 | 55 | expect(await utils.parseVersion('7')).toBe('7.0'); | 49 | 56 | expect(await utils.parseVersion('7.4')).toBe('7.4'); | 50 | 57 | expect(await utils.parseVersion('5.x')).toBe('5.6'); | |
Collapse file Copy file name to clipboardExpand all lines: src/configs/php-versions.json +1-1Lines changed: 1 addition & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
| 3 | 3 | "highest": "8.5", | 4 | 4 | "latest": "8.5", | 5 | 5 | "nightly": "8.6", | 6 | | - "master": "8.6", | | 6 | + "master": "8.7", | 7 | 7 | "5.x": "5.6", | 8 | 8 | "7.x": "7.4", | 9 | 9 | "8.x": "8.5" | |
|