Add support for PHP 8.1
Add support for alias latest Bump version to 1.3.0
This commit is contained in:
@@ -8,9 +8,10 @@ import * as utils from './utils';
|
||||
*/
|
||||
export async function run(): Promise<void> {
|
||||
try {
|
||||
let version: string = await utils.getInput('php-version', true);
|
||||
version = version.length > 1 ? version.slice(0, 3) : version + '.0';
|
||||
const extensions = await utils.filterExtensions(
|
||||
const version: string = await utils.parseVersion(
|
||||
await utils.getInput('php-version', true)
|
||||
);
|
||||
const extensions: string = await utils.filterExtensions(
|
||||
await utils.getInput('extensions', true)
|
||||
);
|
||||
const key: string = await utils.getInput('key', true);
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
linux_extension_dir() {
|
||||
apiv=$1
|
||||
old_versions_linux="5.[4-5]"
|
||||
if [ "$version" = "5.3" ]; then
|
||||
echo "/home/runner/php/5.3.29/lib/php/extensions/no-debug-non-zts-$apiv"
|
||||
elif [[ "$version" =~ $old_versions_linux ]]; then
|
||||
elif [[ "$version" =~ $old_versions ]]; then
|
||||
echo "/usr/lib/php5/$apiv"
|
||||
elif [ "$version" = "8.0" ]; then
|
||||
echo "/usr/local/php/8.0/lib/php/extensions/no-debug-non-zts-$apiv"
|
||||
elif [[ "$version" =~ $nightly_versions ]]; then
|
||||
echo "/usr/local/php/$version/lib/php/extensions/no-debug-non-zts-$apiv"
|
||||
else
|
||||
echo "/usr/lib/php/$apiv"
|
||||
fi
|
||||
@@ -33,6 +32,7 @@ get_apiv() {
|
||||
7.2) echo "20170718" ;;
|
||||
7.3) echo "20180731" ;;
|
||||
7.4) echo "20190902" ;;
|
||||
8.0) echo "20200930" ;;
|
||||
*)
|
||||
php_h="https://raw.githubusercontent.com/php/php-src/master/main/php.h"
|
||||
curl -sSL --retry 5 "$php_h" | grep "PHP_API_VERSION" | cut -d' ' -f 3
|
||||
@@ -73,6 +73,8 @@ extensions=$1
|
||||
key=$2
|
||||
version=$3
|
||||
os=$(uname -s)
|
||||
old_versions="5.[4-5]"
|
||||
nightly_versions="8.[0-1]"
|
||||
if [ "$os" = "Linux" ]; then
|
||||
release=$(lsb_release -s -c)
|
||||
os=$os-$release
|
||||
@@ -88,7 +90,7 @@ else
|
||||
os="Windows"
|
||||
dir='C:\\tools\\php\\ext'
|
||||
fi
|
||||
if [ "$version" = "8.0" ]; then
|
||||
if [[ "$version" =~ $nightly_versions ]]; then
|
||||
key="$key-20200930"
|
||||
fi
|
||||
key="$os"-ext-"$version"-$(echo -n "$extensions-$key" | openssl dgst -sha256 | cut -d ' ' -f 2)
|
||||
|
||||
@@ -6,8 +6,8 @@ Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
@@ -21,10 +21,12 @@ iconv
|
||||
ioncube
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
@@ -32,11 +34,14 @@ pcre
|
||||
PDO
|
||||
oci8
|
||||
PDO_OCI
|
||||
pdo_dblib
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
phpdbg_webhelper
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
@@ -46,6 +51,7 @@ shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
@@ -54,9 +60,9 @@ sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
@@ -69,4 +75,3 @@ blackfire
|
||||
[Zend Modules]
|
||||
Zend OPcache
|
||||
Xdebug
|
||||
|
||||
|
||||
77
src/lists/bionic-php8.1-extensions
Normal file
77
src/lists/bionic-php8.1-extensions
Normal file
@@ -0,0 +1,77 @@
|
||||
[PHP Modules]
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
ioncube
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
oci8
|
||||
PDO_OCI
|
||||
pdo_dblib
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
phpdbg_webhelper
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Zend OPcache
|
||||
Xdebug
|
||||
@@ -4,11 +4,10 @@ bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
cubrid
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
@@ -22,10 +21,12 @@ iconv
|
||||
ioncube
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
@@ -33,11 +34,14 @@ pcre
|
||||
PDO
|
||||
oci8
|
||||
PDO_OCI
|
||||
pdo_dblib
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
phpdbg_webhelper
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
@@ -47,6 +51,7 @@ shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
@@ -55,9 +60,9 @@ sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
|
||||
77
src/lists/focal-php8.1-extensions
Normal file
77
src/lists/focal-php8.1-extensions
Normal file
@@ -0,0 +1,77 @@
|
||||
[PHP Modules]
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
ioncube
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
oci8
|
||||
PDO_OCI
|
||||
pdo_dblib
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
phpdbg_webhelper
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Zend OPcache
|
||||
Xdebug
|
||||
@@ -4,11 +4,10 @@ bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
cubrid
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
@@ -22,10 +21,12 @@ iconv
|
||||
ioncube
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
@@ -33,11 +34,14 @@ pcre
|
||||
PDO
|
||||
oci8
|
||||
PDO_OCI
|
||||
pdo_dblib
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
phpdbg_webhelper
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
@@ -47,6 +51,7 @@ shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
@@ -55,9 +60,9 @@ sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
@@ -70,4 +75,3 @@ blackfire
|
||||
[Zend Modules]
|
||||
Zend OPcache
|
||||
Xdebug
|
||||
|
||||
|
||||
77
src/lists/xenial-php8.1-extensions
Normal file
77
src/lists/xenial-php8.1-extensions
Normal file
@@ -0,0 +1,77 @@
|
||||
[PHP Modules]
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
ioncube
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
oci8
|
||||
PDO_OCI
|
||||
pdo_dblib
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
phpdbg_webhelper
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Zend OPcache
|
||||
Xdebug
|
||||
50
src/utils.ts
50
src/utils.ts
@@ -1,6 +1,21 @@
|
||||
import * as fs from 'fs';
|
||||
import * as core from '@actions/core';
|
||||
|
||||
/**
|
||||
* Function to read environment variable and return a string value.
|
||||
*
|
||||
* @param property
|
||||
*/
|
||||
export async function readEnv(property: string): Promise<string> {
|
||||
const value = process.env[property];
|
||||
switch (value) {
|
||||
case undefined:
|
||||
return '';
|
||||
default:
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get inputs from both with and env annotations.
|
||||
*
|
||||
@@ -11,13 +26,36 @@ export async function getInput(
|
||||
name: string,
|
||||
mandatory: boolean
|
||||
): Promise<string> {
|
||||
const input = process.env[name];
|
||||
switch (input) {
|
||||
case '':
|
||||
case undefined:
|
||||
return core.getInput(name, {required: mandatory});
|
||||
default:
|
||||
const input = core.getInput(name);
|
||||
const env_input = await readEnv(name);
|
||||
switch (true) {
|
||||
case input != '':
|
||||
return input;
|
||||
case input == '' && env_input != '':
|
||||
return env_input;
|
||||
case input == '' && env_input == '' && mandatory:
|
||||
throw new Error(`Input required and not supplied: ${name}`);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to parse PHP version.
|
||||
*
|
||||
* @param version
|
||||
*/
|
||||
export async function parseVersion(version: string): Promise<string> {
|
||||
switch (version) {
|
||||
case 'latest':
|
||||
return '7.4';
|
||||
default:
|
||||
switch (true) {
|
||||
case version.length > 1:
|
||||
return version.slice(0, 3);
|
||||
default:
|
||||
return version + '.0';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user