Releases: shivammathur/setup-php
1.11.4
v1 maintenance release
- Add
Windows-2022
to theREADME
. - Use
PhpManager
on Windows for all PHP versions supported onv1
. - Fix unsupported PHP versions warning on
v1
. - Fix warnings in
Windows
when the required directory is already present. - Use
shivammathur/extensions
tap to installvips
extension on macOS. - Add an SVG with past and present individual sponsors to the
README
. - Update
tsconfig
to generate type declarations. - Add
bugs
,directories
,files
andtypes
properties in package.json. - Update
SECURITY.md
. - Update Node.js dependencies.
2.13.0
- Added support for Debian on self-hosted environments and containers.
- Debian 9 and above are supported in addition to existing Ubuntu support.
- Operating systems based on these versions of Debian are also supported on a best-effort basis.
container: debian:bullseye
steps:
- name: Install PHP on Debian
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
env:
runner: self-hosted
- Added
windows-2022
to the supported OS environments.
runs-on: windows-2022
steps:
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
- Added support for
phpunit-bridge
and updatedsymfony
examples to install it usingsetup-php
.
- name: Setup PHP with Phive
with:
php-version: '8.0'
tools: phpunit-bridge
- Added documentation to run multi-line PHP code in workflows. #482
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
- name: Run PHP code
shell: php {0}
run: |
<?php
$welcome = "Hello, world";
echo $welcome;
- Added support for extensions
mongodb
andyaml
on macOS usingshivammathur/extensions
tap. - Added a specific
phive
version compatible with PHP 7.2. #481
- name: Setup PHP with Phive
uses: shivammathur/setup-php@v2
with:
php-version: '7.2'
tools: phive
- Added
--no-install-recommends
to apt install commands on Linux. - Added support for JavaScript actions on
shivammathur/node
images.spc
is no longer required for multi-arch workflows and normal GitHub Action syntax should work.
container: shivammathur/node:latest-${{ matrix.arch }}
strategy:
matrix:
arch: ["amd64", "i386"]
steps:
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
- PHP 8.1 on Linux in
shivammathur/php-builder
is now built nightly with the same configuration and patches as official Debian builds of PHP.
- name: Setup PHP 8.1
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- Added a new flag
NO_TOOLS_CACHE
. The tool will be fetched from the source instead of any cache that setup-php implements when this is set to true. - This can be useful for maintainers to make sure a new version of their tool is used instead of the old cached version.
- As of this release, only
composer
phars are cached.
- name: Setup PHP
uses: shivammathur/setup-php@v2
env:
NO_TOOLS_CACHE: true
with:
php-version: '8.0'
- Removed support for Ubuntu 16.04. Please upgrade to Ubuntu 20.04 or Ubuntu 18.04 environments. #452
- Removed support for Blackfire v1. Specifying
blackfire
in tools will now install the latest version of Blackfire CLI v2. #478
- name: Setup PHP with Blackfire
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
tools: blackfire
-
Removed
software-properties-common
package from dependencies on self-hosted Linux. This package was used for adding third-party repositories(PPA). Removing this reduces self-hosted first run time from 2-3 minutes to 1-2 minutes. -
PPAs can now be added by
setup-php
without any dependencies and the deprecatedapt-key
. It follows the Debian specification for third-party repositories. -
Remove use of
/etc/lsb-release
file,/etc/os-release
is used now as it has better support. -
Fixed a bug where the status file was overwritten after PHP was set up on GitHub runners.
-
Fixed support for
php-cs-fixer
to parsereleases.atom
file and install correct latest version. #485
- name: Setup PHP with php-cs-fixer
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
tools: php-cs-fixer
- Fixed cache support for extensions on Windows which need additional libraries.
- Fixed permissions in composer set up on self-hosted environments. #477
- Fixed starting Blackfire service on Linux. #483
- Fixed a warning about shallow clones for Homebrew taps on macOS.
- Fixed a warning about macOS developer mode while using
brew cat
. - In
tsconfig.json
setlib
toES2020
andtarget
toES2019
for supporting Node 12 in self-hosted runners. - Update Node.js dependencies.
Thanks! @jrfnl and @lolautruche for the contributions 🎉
1.11.3
v1
maintenance release
- Added support for extensions
mongodb
andyaml
on macOS usingshivammathur/extensions
tap. - Added
--no-install-recommends
toapt-get install
commands on Linux. - Added a specific
phive
version compatible with PHP 7.2. #481 - Removed support for Ubuntu 16.04 on setup-php. #452
- Fixed permissions in composer set up on self-hosted environments. #477
- Fixed a warning about shallow clones for Homebrew taps on macOS.
- Fixed a warning about macOS developer mode while using
brew cat
. - Sync
tsconfig.json
withv2
. - Update Node.js dependencies.
2.12.0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
tools: php-cs-fixer:3, phpunit:8.5
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup PHP
id: setup-php
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
- name: Print PHP version
run: echo ${{ steps.setup-php.outputs.php-version }}
- Like Ubuntu, add PHP commit hash in PHP 8.1 (nightly) logs on Windows and macOS.
- Use
composer
to installcomposer-require-checker
. #473 - Use
shivammathur/extensions
tap forrdkafka
extension on macOS. shivammathur/homebrew-php#365 - Support for Ubuntu 16.04 was dropped on August 1, 2021. 📢Announcement: #452
- Set the
Firebird
client version to3.0.7
on macOS. - Improve
grpc_php_plugin
support on Ubuntu and macOS. - Minor fixes for self-hosted setup on Ubuntu.
- Improve PHP setup on macOS to be more resilient to dependency version inconsistencies.
- Fix to enable extensions disabled with
phpdismod
on Ubuntu. actions/runner-images#3472 - Fix
Imagick
setup withshivammathur/cache-extensions
action on Windows. #455 - Fix support for OCI extensions
oci8
andpdo_oci
. #449 - Fix to not use system PHP on macOS.
- Fix support for
Imagick
for PHP 5.3 to 5.5 on macOS. - Fix installing
protoc
on macOS. - Hotfix: Fix permissions of
COMPOSER_HOME
directory. #477 - Hotfix: Fix support for phive on PHP 7.2. #481
Internal
- Update contributors SVG in
README.md
to include contributors fromsetup-php
and all related projects. - Move tools set up details from
tools.ts
totools.json
config. - Improve error handling in
utils.fetch
and its uses. - Refactor tests for tools using
jest.Each
. - Update Ubuntu 16.04 warning in
install.ts
. - Set
sourceMap
to true intsconfig.json
. - Update
Node.js
dependencies.
1.11.2
v1
maintenance release
- Fix replacing
v
prefix in tool versions. - Use
shivammathur/extensions
tap forrdkafka
onmacOS
. - Update
Ubuntu 16.04
warning ininstall.ts
. - Update
Node.js
dependencies.
2.11.0
-
Improve cache in
shivammathur/php-ubuntu
for PHP 5.6 to PHP 8.0.
Using cache should reduce setup-php runtime on Ubuntu when the PHP version is not installed on the runner orupdate: true
is set from 1-2 minutes to less than 5 seconds. -
Add support to compile and install extensions from source from any git repository, from a sub-directory in a repository, with required libraries and configuration. Refer to this guide for more details and examples. #418, Closes #419
-
Add support to set up composer packages using tools input. Closes #442
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
tools: phpunit/phpunit
- Add support to skip composer setup by specifying
tools: none
. Closes #446
- name: Setup PHP with no tools using composer
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
tools: none
- Add support for different ICU versions with PHP 8.1 on Ubuntu.
- name: Setup PHP 8.1 with ICU 69.1
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: intl-69.1
- Improve logs for compiling extensions from source. Now this process is verbose and the logs are grouped.
- Improve extension support.
- Add support for pdo_firebird.
- Improve support for geos to compile on PHP 8.0 and 8.1.
- Fix cubrid setup on Ubuntu 16.04.
- Fix gearman support on Ubuntu.
- Use GitHub releases for all couchbase versions.
- Use shivammathur/extensions tap for apcu, phalcon, psr, memcache and memcached on macOS.
- Fix phalcon3 on Windows.
- Revert to ppa:ondrej/ppa for phalcon3 on Ubuntu.
- Revert pcov patch for PHP 8 on Windows as the DLL is now available on PECL.
- Add PHP commit hash in logs on PHP 8.1 (nightly) on Ubuntu. #433
- Fix versions in logs of tools installed using composer.
- Fix linking of old libraries on macOS.
- Fix enabling cached extensions which have other extensions as dependencies. #428
- Fix pecl setup to avoid unnecessary callbacks.
- Fix blackfire extension version to
1.50.0
for PHP 5.6 and below. - Fix composer setup on self-hosted set up. #435
- PHP 5.6 to PHP 7.2 on macOS are now built with backported security patches in shivammathur/php tap.
Internal
- Add fallback to
Install-Module
inInstall-PSPackage
inwin32.ps1
. - Add parameters to
add_ppa
function inlinux.sh
. - Do not lowercase source extension input.
- Fix warning about ignored promise in
install.ts
. - Fix shellcheck warning in
darwin.sh
. - Refactor coverage setup.
- Refactor regex in
extension.ts
. - Remove dotdeb support. PHP 5.4 and 5.5 are now built from source along with compatable extensions in
shivammathur/php5-ubuntu
. - Replace bintray with cdnjs as fallback to GitHub releases for fetching scripts.
- Replace bintray in Windows script with GitHub Releases.
- Replace bintray and use
shivammathur/intl-icu
GitHub releases. - Move patches from custom extension scripts to patches directory.
- Switch from
clover.xml
tolcov.info
for coverage.clover.xml
has broken conditional coverage support. - Use
add_extension_from_source
for all custom supported extensions. - Move patches from custom extension scripts to patches directory.
- Move
add_pecl_extension
tocommon.sh
. - Improve
switch_version
inlinux.sh
to accept parameters. - Cleanup
tsconfig.json
. - Set
moduleResolution
tonode
intsconfig.json
. - Update year in license.
- Update Node version to
15.x
in Node workflow. - Update
SECURITY.md
. - Update Node.js dependencies.
2.10.0
- name: Setup PHP with mongodb compiled from source
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: mongodb-mongodb/[email protected]
- Add support to setup Xdebug 2.x on PHP 7.2 to PHP 7.4. Docs.
name: Setup PHP with Xdebug 2.x
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
coverage: xdebug2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
ini-values: xdebug.mode="develop,coverage"
- Add support to specify version in d.x notation. For example 5.x, 7.4 and 8.x (#395).
- name: Setup PHP 7.4
uses: shivammathur/setup-php@v2
with:
php-version: '7.x'
- Add support for specifying ICU version for intl extension on PHP 8.0 (shivammathur/icu-intl#1).
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: intl-68.2
- Add support for pdo_firebird for all configurations.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: pdo_firebird
- Add support for self-hosted runners on macOS ARM64 Docs.
- Add support for blackfire on PHP 8.0.
- name: Setup PHP with blackfire
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: blackfire
tools: blackfire
- Add support for pecl_http for all PHP versions on Ubuntu and macOS and PHP 7.1 to PHP 8.0 on Windows. (#396)
- name: Setup PHP with pecl_http
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: pecl_http
- Add support for aliases for symfony-cli, vapor-cli, and wp-cli. Docs
- Add support for couchbase extension with PHP 5.3 to PHP 5.5 on Ubuntu and macOS.
- Fail fast on failing to setup the requested PHP version (#368).
- Fix Composer config syntax (#404).
- Fix PHP 8 on macOS after update on images.
- Fix PDO extensions setup on Ubuntu and macOS (#412).
- Fix compiling extensions in self-hosted workflows (shivammathur/node-docker#5).
- Fix tools setup on self-hosted runners.
- Fix pcov on PHP 8.0 on Windows (#398).
- Fix cache support for cubrid and pdo_cubrid.
- Fix support for phalcon3 (#413).
- Improve support for PHP extensions amqp, igbinary, imap, msgpack, propro, raphf, redis and zmq on macOS.
- Improve support for phive. Now the correct version of phive for the PHP version should be setup (#366).
- Improve fetching homebrew taps.
- Improve PECL support. It is no longer required to specify pecl in tools input.
- Improve regexes in extensions.ts.
- Improve logs in Symfony examples (#377).
- Set up Codeception using Composer.
- Change Node.js version in the workflow.
- Update Node.js dependencies.
Thanks @dingo-d, @alcaeus, @smoqadam and @glensc for the contributions 🎉
2.9.0
- PHP 8.0 is now stable
PHP 8.0.0
onsetup-php
for all supported OS. 🥳 - Add new JIT configuration section to the README.
For example, to enable JIT on PHP 8.0.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
ini-values: opcache.enable_cli=1
Refer to JIT Configuration for more details.
- Skip
prestissimo
andcomposer-prefetcher
unlesscomposer:v1
is specified.
For example to setup prestissimo
, use
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
tools: composer:v1, prestissimo
- Set
Xdebug
version to2.9.8
onPHP 7.2
. #345 - Set
xdebug.mode=coverage
ini directive always #346 - Sync dependencies from
shivammathur/extensions
tap inadd_brew_extension
. - Fix
fail-fast
on Windows. - Fix deleting extensions when one extension is a substring of the other. For example
pdo_sqlsrv
andsqlsrv
. - Fix fetching extension version from
PECL
onmacOS
. - Fix fetching
grpc
latest tag. (grpc/grpc.io#79) - Prioritize
Bintray
overGitHub
releases for fetching scripts. - Refactor
darwin.sh
script. - Change project description in
actions.yml
. - Bump version to 2.9.0
Thanks @owenvoke for the contribution 🎉
1.11.1
v1
maintenance release
- Add fallback to
Install-Module
inInstall-PSPackage
inwin32.ps1
. - Add parameters to
add_ppa
function inlinux.sh
. - Cleanup
cleanup_lists
inlinux.sh
. - Fix gearman support on Ubuntu.
- Fix warning about ignored promise in
install.ts
. - Fix linking of old libraries on macOS.
- Make sure global
composer.json
directory exists. - PHP 5.6 to PHP 7.2 on macOS are now built with backported security patches in shivammathur/php tap.
- Revert pcov patch for PHP 8 on Windows as the DLL is now available on PECL.
- Update Node version to
15.x
. - Update
SECURITY.md
. - Switch from
clover.xml
tolcov.info
for coverage.clover.xml
has broken conditional coverage support. - Use packages from
shivammathur/php-ubuntu
for PHP setup and upgrades. - Use
shivammathur/extensions
forphalcon
andpsr
.
1.11.0
v1 maintenance release
- Add support to setup Xdebug 2.x on PHP 7.2 to PHP 7.4. Docs
name: Setup PHP with Xdebug 2.x
uses: shivammathur/setup-php@v1
with:
php-version: '7.4'
coverage: xdebug2
- Add support for quoted CSV in ini-values input to allow directives with commas.
name: Setup PHP
uses: shivammathur/setup-php@v1
with:
php-version: '7.4'
ini-values: xdebug.mode="develop,coverage"
- Add support to specify version in d.x notation. For example 5.x, 7.4 and 8.x.
name: Setup PHP 7.4
uses: shivammathur/setup-php@v1
with:
php-version: '7.x'
- Fail fast on failing to setup the requested PHP version.
- Fix Composer config syntax.
- Fix PHP 8 on macOS.
- Improve support for PHP extensions amqp, igbinary, imap, msgpack, pecl_http, propro, raphf, redis and zmq on macOS.
- Improve support for phive.
- Improve fetching homebrew taps.
- Improve regexes in extensions.ts.
- Improve PECL support. It is no longer required to specify pecl in tools input.
- Set up Codeception using Composer.
- Sync Symfony examples from v2.
- Sync HOMEBREW parameters from v2.
- Change Node.js version in the workflow.
- Update Node.js dependencies.