8 Commits
1.3.0 ... 1.4.0

Author SHA1 Message Date
Shivam Mathur
7df1333d2b Merge pull request #20 from shivammathur/develop
1.4.0
2020-12-30 14:20:37 -08:00
Shivam Mathur
9ef47bc1b1 Change extensions directory for PHP 5.3 on Ubuntu
Add support for PHP 5.6+ on MacOS ARM

Update lists for PHP 5.3

Clear cache

Bump version to 1.4.0
2020-12-31 03:47:46 +05:30
Shivam Mathur
bc3f3bc008 Merge pull request #19 from shivammathur/develop
1.3.3
2020-12-16 23:49:46 -08:00
Shivam Mathur
30e4da7ed2 Adjust extension_dir for PHP 8 on Ubuntu
Reset extension cache

Update dependencies

Update lists
2020-12-17 13:16:33 +05:30
Shivam Mathur
1b7b26deeb Merge pull request #18 from shivammathur/develop
1.3.2
2020-11-26 21:14:56 +05:30
Shivam Mathur
0487f686e2 Clear cache
Bump version to 1.3.2

Update dependencies
2020-11-26 21:14:34 +05:30
Shivam Mathur
f5a7bad686 Merge pull request #17 from shivammathur/develop
1.3.1
2020-10-24 07:40:06 +05:30
Shivam Mathur
d48014e2bb Add PHP 8.1 and macos-11.0 to the README
Update Node.js dependencies

Bump version to 1.3.1
2020-10-24 07:31:37 +05:30
12 changed files with 871 additions and 2145 deletions

View File

@@ -3,8 +3,8 @@
<p align="center"> <p align="center">
<a href="https://github.com/shivammathur/cache-extensions" title="Cache PHP extensions in GitHub Actions"><img alt="GitHub Actions status" src="https://github.com/shivammathur/cache-extensions/workflows/Main%20workflow/badge.svg"></a> <a href="https://github.com/shivammathur/cache-extensions" title="Cache PHP extensions in GitHub Actions"><img alt="GitHub Actions status" src="https://github.com/shivammathur/cache-extensions/workflows/Main%20workflow/badge.svg"></a>
<a href="https://codecov.io/gh/shivammathur/cache-extensions" title="Code coverage"><img alt="Codecov Code Coverage" src="https://codecov.io/gh/shivammathur/cache-extensions/branch/master/graph/badge.svg"></a> <a href="https://codecov.io/gh/shivammathur/cache-extensions" title="Code coverage"><img alt="Codecov Code Coverage" src="https://codecov.io/gh/shivammathur/cache-extensions/branch/master/graph/badge.svg"></a>
<a href="https://github.com/shivammathur/cache-extensions/blob/master/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg"></a> <a href="https://github.com/shivammathur/cache-extensions/blob/master/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>
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-%3E%3D%205.3-8892BF.svg"></a> <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.1-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a>
</p> </p>
Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action has to be used along with [shivammathur/setup-php](https://github.com/shivammathur/setup-php "Setup PHP") and [actions/cache](https://github.com/actions/cache "Cache in GitHub Actions") GitHub Actions. It configures the environment required to cache PHP extensions. Refer to [Usage](#memo-usage "How to use this") section to see how to use this. Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action has to be used along with [shivammathur/setup-php](https://github.com/shivammathur/setup-php "Setup PHP") and [actions/cache](https://github.com/actions/cache "Cache in GitHub Actions") GitHub Actions. It configures the environment required to cache PHP extensions. Refer to [Usage](#memo-usage "How to use this") section to see how to use this.
@@ -32,10 +32,11 @@ Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "Gi
|5.6|`Stable`|`End of life`| |5.6|`Stable`|`End of life`|
|7.0|`Stable`|`End of life`| |7.0|`Stable`|`End of life`|
|7.1|`Stable`|`End of life`| |7.1|`Stable`|`End of life`|
|7.2|`Stable`|`Security fixes only`| |7.2|`Stable`|`End of life`|
|7.3|`Stable`|`Active`| |7.3|`Stable`|`Security fixes only`|
|7.4|`Stable`|`Active`| |7.4|`Stable`|`Active`|
|8.0|`Nightly`|`In development`| |8.0|`Stable`|`Active`|
|8.1|`Nightly`|`In development`|
## :cloud: OS/Platform Support ## :cloud: OS/Platform Support
@@ -46,16 +47,17 @@ Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "Gi
|Ubuntu 18.04|`ubuntu-latest` or `ubuntu-18.04`| |Ubuntu 18.04|`ubuntu-latest` or `ubuntu-18.04`|
|Ubuntu 16.04|`ubuntu-16.04`| |Ubuntu 16.04|`ubuntu-16.04`|
|macOS Catalina 10.15|`macos-latest` or `macOS-10.15`| |macOS Catalina 10.15|`macos-latest` or `macOS-10.15`|
|macOS Big Sur 11.0|`macOS-11.0`|
## :memo: Usage ## :memo: Usage
Use this GitHub Action when the extensions you are adding in [setup-php](https://github.com/shivammathur/setup-php "setup-php GitHub Action") are installed and take a long time to setup. If you are using extensions which have the result `Installed and enabled` in the logs like `pecl` extensions on `Ubuntu` or extensions which have custom support, it is recommended to use this action to cache your extensions. Use this GitHub Action when the extensions you are adding in [setup-php](https://github.com/shivammathur/setup-php "setup-php GitHub Action") are installed and take a long time to set up. If you are using extensions which have the result `Installed and enabled` in the logs like `pecl` extensions on `Ubuntu` or extensions which have custom support, it is recommended to use this action to cache your extensions.
### Inputs ### Inputs
#### `php-version` (required) #### `php-version` (required)
- Specify the PHP version you want to setup. - Specify the PHP version you want to set up.
- Accepts a `string`. For example `'7.4'`. - Accepts a `string`. For example `'7.4'`.
- See [PHP support](#tada-php-support) for supported PHP versions. - See [PHP support](#tada-php-support) for supported PHP versions.
@@ -117,7 +119,7 @@ jobs:
### Thread Safe Setup ### Thread Safe Setup
If you setup both `TS` and `NTS` PHP versions on `Windows` in your workflow, please add `${{ env.phpts }}` to `key` and `restore-keys` inputs in `actions/cache` step in the above workflow to avoid conflicting cache. If you set up both `TS` and `NTS` PHP versions on `Windows` in your workflow, please add `${{ env.phpts }}` to `key` and `restore-keys` inputs in `actions/cache` step in the above workflow to avoid a conflicting cache.
```yaml ```yaml
- name: Cache extensions - name: Cache extensions
@@ -130,7 +132,7 @@ If you setup both `TS` and `NTS` PHP versions on `Windows` in your workflow, ple
## :scroll: License ## :scroll: License
The scripts and documentation in this project are released under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories. The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
## :+1: Contributions ## :+1: Contributions
@@ -144,7 +146,6 @@ If this action helped you.
- Please consider supporting our work by sponsoring using [Open Collective](https://opencollective.com/setup-php), [Paypal](https://www.paypal.me/shivammathur "Shivam Mathur PayPal") or [Patreon](https://www.patreon.com/shivammathur "Shivam Mathur Patreon"). - Please consider supporting our work by sponsoring using [Open Collective](https://opencollective.com/setup-php), [Paypal](https://www.paypal.me/shivammathur "Shivam Mathur PayPal") or [Patreon](https://www.patreon.com/shivammathur "Shivam Mathur Patreon").
- If you use this action at your company, please [reach out](mailto:contact@setup-php.com) to sponsor the project. - If you use this action at your company, please [reach out](mailto:contact@setup-php.com) to sponsor the project.
## :package: Dependencies ## :package: Dependencies
- [Node.js dependencies](https://github.com/shivammathur/setup-php/network/dependencies "Node.js dependencies") - [Node.js dependencies](https://github.com/shivammathur/setup-php/network/dependencies "Node.js dependencies")

2846
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "cache-extensions", "name": "cache-extensions",
"version": "1.3.0", "version": "1.4.0",
"private": false, "private": false,
"description": "Cache extensions in GitHub Actions", "description": "Cache extensions in GitHub Actions",
"main": "dist/index.js", "main": "dist/index.js",
@@ -28,22 +28,22 @@
"@actions/exec": "^1.0.4" "@actions/exec": "^1.0.4"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^26.0.14", "@types/jest": "^26.0.19",
"@types/node": "^14.11.8", "@types/node": "^14.14.17",
"@typescript-eslint/eslint-plugin": "^4.4.1", "@typescript-eslint/eslint-plugin": "^4.11.1",
"@typescript-eslint/parser": "^4.4.1", "@typescript-eslint/parser": "^4.11.1",
"@zeit/ncc": "^0.22.3", "@zeit/ncc": "^0.22.3",
"eslint": "^7.11.0", "eslint": "^7.16.0",
"eslint-config-prettier": "^6.12.0", "eslint-config-prettier": "^7.1.0",
"eslint-plugin-import": "^2.22.1", "eslint-plugin-import": "^2.22.1",
"eslint-plugin-jest": "^24.1.0", "eslint-plugin-jest": "^24.1.3",
"eslint-plugin-prettier": "^3.1.4", "eslint-plugin-prettier": "^3.3.0",
"husky": "^4.3.0", "husky": "^4.3.6",
"jest": "^26.5.3", "jest": "^26.6.3",
"jest-circus": "^26.5.3", "jest-circus": "^26.6.3",
"prettier": "^2.1.2", "prettier": "^2.2.1",
"ts-jest": "^26.4.1", "ts-jest": "^26.4.4",
"typescript": "^4.0.3" "typescript": "^4.1.3"
}, },
"husky": { "husky": {
"skipCI": true, "skipCI": true,

View File

@@ -1,10 +1,8 @@
linux_extension_dir() { linux_extension_dir() {
apiv=$1 apiv=$1
if [ "$version" = "5.3" ]; then if [[ "$version" =~ $old_versions ]]; then
echo "/home/runner/php/5.3.29/lib/php/extensions/no-debug-non-zts-$apiv"
elif [[ "$version" =~ $old_versions ]]; then
echo "/usr/lib/php5/$apiv" echo "/usr/lib/php5/$apiv"
elif [[ "$version" =~ $nightly_versions ]]; then elif [[ "$version" =~ 5.3|$nightly_versions ]]; then
echo "/usr/local/php/$version/lib/php/extensions/no-debug-non-zts-$apiv" echo "/usr/local/php/$version/lib/php/extensions/no-debug-non-zts-$apiv"
else else
echo "/usr/lib/php/$apiv" echo "/usr/lib/php/$apiv"
@@ -17,7 +15,11 @@ darwin_extension_dir() {
if [[ "$version" =~ $old_versions_darwin ]]; then if [[ "$version" =~ $old_versions_darwin ]]; then
echo "/opt/local/lib/php${version/./}/extensions/no-debug-non-zts-$apiv" echo "/opt/local/lib/php${version/./}/extensions/no-debug-non-zts-$apiv"
else else
echo "/usr/local/lib/php/pecl/$apiv" if [[ "$(sysctl -n hw.optional.arm64 2>/dev/null)" = "1" ]]; then
echo "/opt/homebrew/lib/php/pecl/$apiv"
else
echo "/usr/local/lib/php/pecl/$apiv"
fi
fi fi
} }
@@ -74,7 +76,7 @@ key=$2
version=$3 version=$3
os=$(uname -s) os=$(uname -s)
old_versions="5.[4-5]" old_versions="5.[4-5]"
nightly_versions="8.[0-1]" nightly_versions="8.[1-9]"
if [ "$os" = "Linux" ]; then if [ "$os" = "Linux" ]; then
release=$(lsb_release -s -c) release=$(lsb_release -s -c)
os=$os-$release os=$os-$release
@@ -90,9 +92,7 @@ else
os="Windows" os="Windows"
dir='C:\\tools\\php\\ext' dir='C:\\tools\\php\\ext'
fi fi
if [[ "$version" =~ $nightly_versions ]]; then
key="$key-20200930"
fi
key="$os"-ext-"$version"-$(echo -n "$extensions-$key" | openssl dgst -sha256 | cut -d ' ' -f 2) key="$os"-ext-"$version"-$(echo -n "$extensions-$key" | openssl dgst -sha256 | cut -d ' ' -f 2)
key="$key-20201231"
echo "::set-output name=dir::$dir" echo "::set-output name=dir::$dir"
echo "::set-output name=key::$key" echo "::set-output name=key::$key"

View File

@@ -1,4 +1,5 @@
[PHP Modules] [PHP Modules]
amqp
apc apc
apcu apcu
bcmath bcmath
@@ -9,22 +10,28 @@ cubrid
curl curl
date date
dom dom
enchant
ereg ereg
exif exif
fileinfo fileinfo
filter filter
ftp ftp
gd gd
gettext
gmp
hash hash
iconv iconv
ioncube ioncube
intl intl
json json
ldap
libxml libxml
mbstring mbstring
mcrypt mcrypt
memcache
memcached memcached
mongo mongo
mongodb
mysql mysql
mysqli mysqli
mysqlnd mysqlnd
@@ -36,9 +43,12 @@ PDO
oci8 oci8
PDO_OCI PDO_OCI
pdo_mysql pdo_mysql
pdo_pgsql
pdo_sqlite pdo_sqlite
pgsql
Phar Phar
posix posix
pspell
readline readline
redis redis
Reflection Reflection
@@ -69,4 +79,3 @@ blackfire
[Zend Modules] [Zend Modules]
Xdebug Xdebug

View File

@@ -89,4 +89,3 @@ blackfire
[Zend Modules] [Zend Modules]
Xdebug Xdebug
Zend OPcache Zend OPcache

View File

@@ -1,4 +1,6 @@
[PHP Modules] [PHP Modules]
amqp
apcu
bcmath bcmath
bz2 bz2
calendar calendar
@@ -8,6 +10,7 @@ curl
date date
dba dba
dom dom
enchant
exif exif
FFI FFI
fileinfo fileinfo
@@ -18,37 +21,43 @@ gettext
gmp gmp
hash hash
iconv iconv
ioncube igbinary
imap
intl intl
json json
ldap ldap
libxml libxml
mbstring mbstring
memcache
memcached
mongodb
msgpack
mysqli mysqli
mysqlnd mysqlnd
odbc odbc
openssl openssl
pcntl pcntl
pcov
pcre pcre
PDO PDO
oci8 oci8
PDO_OCI PDO_OCI
pdo_dblib pdo_dblib
PDO_Firebird
pdo_mysql pdo_mysql
PDO_ODBC PDO_ODBC
pdo_pgsql pdo_pgsql
pdo_sqlite pdo_sqlite
pgsql pgsql
Phar Phar
phpdbg_webhelper
posix posix
pspell pspell
readline readline
redis
Reflection Reflection
session session
shmop shmop
SimpleXML SimpleXML
snmp
soap soap
sockets sockets
sodium sodium
@@ -65,13 +74,16 @@ xml
xmlreader xmlreader
xmlwriter xmlwriter
xsl xsl
yaml
Zend OPcache Zend OPcache
zip zip
zlib zlib
zmq
ioncube
phalcon3 phalcon3
phalcon4 phalcon4
blackfire blackfire
[Zend Modules] [Zend Modules]
Zend OPcache
Xdebug Xdebug
Zend OPcache

View File

@@ -1,4 +1,5 @@
[PHP Modules] [PHP Modules]
amqp
apc apc
apcu apcu
bcmath bcmath
@@ -9,34 +10,47 @@ cubrid
curl curl
date date
dom dom
enchant
ereg ereg
exif exif
fileinfo fileinfo
filter filter
ftp ftp
gd gd
gettext
gmp
hash hash
iconv iconv
ioncube ioncube
intl intl
json json
ldap
libxml libxml
mbstring mbstring
mcrypt mcrypt
memcache
memcached
mongo
mongodb
mysql mysql
mysqli mysqli
mysqlnd mysqlnd
openssl openssl
pcntl pcntl
pcov
pcre pcre
PDO PDO
oci8 oci8
PDO_OCI PDO_OCI
pdo_mysql pdo_mysql
pdo_pgsql
pdo_sqlite pdo_sqlite
pgsql
Phar Phar
posix posix
pspell
readline readline
redis
Reflection Reflection
session session
shmop shmop
@@ -65,4 +79,3 @@ blackfire
[Zend Modules] [Zend Modules]
Xdebug Xdebug

View File

@@ -24,7 +24,7 @@ hash
iconv iconv
igbinary igbinary
imape imape
ioncub ioncube
intl intl
json json
ldap ldap

View File

@@ -1,4 +1,6 @@
[PHP Modules] [PHP Modules]
amqp
apcu
bcmath bcmath
bz2 bz2
calendar calendar
@@ -8,6 +10,7 @@ curl
date date
dba dba
dom dom
enchant
exif exif
FFI FFI
fileinfo fileinfo
@@ -18,37 +21,43 @@ gettext
gmp gmp
hash hash
iconv iconv
ioncube igbinary
imap
intl intl
json json
ldap ldap
libxml libxml
mbstring mbstring
memcache
memcached
mongodb
msgpack
mysqli mysqli
mysqlnd mysqlnd
odbc odbc
openssl openssl
pcntl pcntl
pcov
pcre pcre
PDO PDO
oci8 oci8
PDO_OCI PDO_OCI
pdo_dblib pdo_dblib
PDO_Firebird
pdo_mysql pdo_mysql
PDO_ODBC PDO_ODBC
pdo_pgsql pdo_pgsql
pdo_sqlite pdo_sqlite
pgsql pgsql
Phar Phar
phpdbg_webhelper
posix posix
pspell pspell
readline readline
redis
Reflection Reflection
session session
shmop shmop
SimpleXML SimpleXML
snmp
soap soap
sockets sockets
sodium sodium
@@ -65,13 +74,16 @@ xml
xmlreader xmlreader
xmlwriter xmlwriter
xsl xsl
yaml
Zend OPcache Zend OPcache
zip zip
zlib zlib
zmq
ioncube
phalcon3 phalcon3
phalcon4 phalcon4
blackfire blackfire
[Zend Modules] [Zend Modules]
Zend OPcache
Xdebug Xdebug
Zend OPcache

View File

@@ -1,4 +1,5 @@
[PHP Modules] [PHP Modules]
amqp
apc apc
apcu apcu
bcmath bcmath
@@ -9,35 +10,45 @@ cubrid
curl curl
date date
dom dom
enchant
ereg ereg
exif exif
fileinfo fileinfo
filter filter
ftp ftp
gd gd
gettext
gmp
hash hash
iconv iconv
ioncube ioncube
intl intl
json json
ldap
libxml libxml
mbstring mbstring
mcrypt mcrypt
memcache
memcached memcached
mongo mongo
mongodb
mysql mysql
mysqli mysqli
mysqlnd mysqlnd
openssl openssl
pcntl pcntl
pcov
pcre pcre
PDO PDO
oci8 oci8
PDO_OCI PDO_OCI
pdo_mysql pdo_mysql
pdo_pgsql
pdo_sqlite pdo_sqlite
pgsql
Phar Phar
posix posix
pspell
readline readline
redis redis
Reflection Reflection
@@ -68,4 +79,3 @@ blackfire
[Zend Modules] [Zend Modules]
Xdebug Xdebug

View File

@@ -1,4 +1,6 @@
[PHP Modules] [PHP Modules]
amqp
apcu
bcmath bcmath
bz2 bz2
calendar calendar
@@ -8,6 +10,7 @@ curl
date date
dba dba
dom dom
enchant
exif exif
FFI FFI
fileinfo fileinfo
@@ -18,37 +21,43 @@ gettext
gmp gmp
hash hash
iconv iconv
ioncube igbinary
imap
intl intl
json json
ldap ldap
libxml libxml
mbstring mbstring
memcache
memcached
mongodb
msgpack
mysqli mysqli
mysqlnd mysqlnd
odbc odbc
openssl openssl
pcntl pcntl
pcov
pcre pcre
PDO PDO
oci8 oci8
PDO_OCI PDO_OCI
pdo_dblib pdo_dblib
PDO_Firebird
pdo_mysql pdo_mysql
PDO_ODBC PDO_ODBC
pdo_pgsql pdo_pgsql
pdo_sqlite pdo_sqlite
pgsql pgsql
Phar Phar
phpdbg_webhelper
posix posix
pspell pspell
readline readline
redis
Reflection Reflection
session session
shmop shmop
SimpleXML SimpleXML
snmp
soap soap
sockets sockets
sodium sodium
@@ -65,13 +74,16 @@ xml
xmlreader xmlreader
xmlwriter xmlwriter
xsl xsl
yaml
Zend OPcache Zend OPcache
zip zip
zlib zlib
zmq
ioncube
phalcon3 phalcon3
phalcon4 phalcon4
blackfire blackfire
[Zend Modules] [Zend Modules]
Zend OPcache
Xdebug Xdebug
Zend OPcache