setup-php 2.35.5 → 2.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -90
- package/lib/core.d.ts +8 -0
- package/lib/core.js +55 -0
- package/lib/core.js.map +1 -0
- package/lib/extensions.js +17 -16
- package/lib/extensions.js.map +1 -1
- package/lib/fetch.js +25 -70
- package/lib/fetch.js.map +1 -1
- package/lib/install.js +1 -1
- package/lib/install.js.map +1 -1
- package/lib/tools.d.ts +48 -21
- package/lib/tools.js +175 -154
- package/lib/tools.js.map +1 -1
- package/lib/utils.js +5 -5
- package/lib/utils.js.map +1 -1
- package/package.json +23 -22
- package/src/configs/brew_extensions +20 -0
- package/src/configs/darwin_libs +22 -0
- package/src/configs/linux_libs +22 -0
- package/src/configs/php-versions.json +5 -4
- package/src/configs/tools.json +2 -1
- package/src/core.ts +112 -0
- package/src/extensions.ts +39 -32
- package/src/fetch.ts +28 -42
- package/src/install.ts +1 -1
- package/src/scripts/darwin.sh +45 -19
- package/src/scripts/extensions/add_extensions.sh +5 -3
- package/src/scripts/extensions/couchbase.sh +13 -2
- package/src/scripts/extensions/firebird.sh +6 -23
- package/src/scripts/extensions/gearman.sh +3 -1
- package/src/scripts/extensions/http.ps1 +7 -5
- package/src/scripts/extensions/ibm.ps1 +56 -0
- package/src/scripts/extensions/ibm.sh +106 -0
- package/src/scripts/extensions/oci.sh +2 -1
- package/src/scripts/extensions/patches/amqp.sh +5 -0
- package/src/scripts/extensions/patches/common.sh +31 -8
- package/src/scripts/extensions/patches/geos.sh +1 -5
- package/src/scripts/extensions/patches/pdo_oci.sh +3 -0
- package/src/scripts/extensions/patches/pdo_sqlsrv.sh +5 -0
- package/src/scripts/extensions/patches/phpize.sh +2 -1
- package/src/scripts/extensions/relay.sh +25 -35
- package/src/scripts/extensions/source.sh +26 -6
- package/src/scripts/extensions/sqlsrv.ps1 +2 -0
- package/src/scripts/extensions/sqlsrv.sh +2 -0
- package/src/scripts/linux.sh +50 -10
- package/src/scripts/tools/add_tools.ps1 +52 -26
- package/src/scripts/tools/add_tools.sh +41 -19
- package/src/scripts/tools/blackfire.sh +1 -1
- package/src/scripts/tools/brew.sh +130 -0
- package/src/scripts/tools/grpc_php_plugin.sh +2 -2
- package/src/scripts/tools/ppa.sh +201 -28
- package/src/scripts/tools/symfony.ps1 +28 -14
- package/src/scripts/tools/symfony.sh +34 -31
- package/src/scripts/unix.sh +8 -4
- package/src/scripts/win32.ps1 +9 -4
- package/src/tools.ts +312 -203
- package/src/utils.ts +6 -7
- package/src/scripts/extensions/patches/gearman.sh +0 -5
package/lib/utils.js
CHANGED
|
@@ -61,7 +61,7 @@ exports.readPHPVersion = readPHPVersion;
|
|
|
61
61
|
exports.setVariable = setVariable;
|
|
62
62
|
const fs_1 = __importDefault(require("fs"));
|
|
63
63
|
const path = __importStar(require("path"));
|
|
64
|
-
const core = __importStar(require("
|
|
64
|
+
const core = __importStar(require("./core"));
|
|
65
65
|
const fetch = __importStar(require("./fetch"));
|
|
66
66
|
async function readEnv(property) {
|
|
67
67
|
const property_lc = property.toLowerCase();
|
|
@@ -95,7 +95,7 @@ async function getManifestURLS() {
|
|
|
95
95
|
}
|
|
96
96
|
async function parseVersion(version) {
|
|
97
97
|
switch (true) {
|
|
98
|
-
case /^(latest|lowest|highest|nightly|\d+\.x)$/.test(version):
|
|
98
|
+
case /^(latest|lowest|highest|nightly|master|\d+\.x)$/.test(version):
|
|
99
99
|
for (const manifestURL of await getManifestURLS()) {
|
|
100
100
|
const fetchResult = await fetch.fetch(manifestURL);
|
|
101
101
|
if (fetchResult['data'] ?? false) {
|
|
@@ -123,8 +123,8 @@ async function parseIniFile(ini_file) {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
async function asyncForEach(array, callback) {
|
|
126
|
-
for (
|
|
127
|
-
await callback(
|
|
126
|
+
for (const [index, element] of array.entries()) {
|
|
127
|
+
await callback(element, index, array);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
async function color(type) {
|
|
@@ -281,7 +281,7 @@ async function scriptTool(os) {
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
async function customPackage(pkg, type, version, os) {
|
|
284
|
-
const pkg_name = pkg.replace(/\d+|(pdo|pecl)[_-]/, '');
|
|
284
|
+
const pkg_name = pkg.replace(/\d+|(pdo|pecl)[_-]|[_-]db2/, '');
|
|
285
285
|
const script_extension = await scriptExtension(os);
|
|
286
286
|
const script = path.join(__dirname, '../src/scripts/' + type + '/' + pkg_name + script_extension);
|
|
287
287
|
const command = await getCommand(os, pkg_name);
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,0BAWC;AAQD,4BAgBC;AAKD,0CAKC;AAOD,oCAkBC;AAOD,oCASC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "setup-php",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.37.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Setup PHP for use with GitHub Actions",
|
|
6
6
|
"main": "lib/install.js",
|
|
@@ -34,35 +34,36 @@
|
|
|
34
34
|
"author": "shivammathur",
|
|
35
35
|
"license": "MIT",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@actions/
|
|
38
|
-
"@actions/exec": "^1.1.1",
|
|
39
|
-
"@actions/io": "^1.1.3",
|
|
37
|
+
"@actions/exec": "^2.0.0",
|
|
40
38
|
"compare-versions": "^6.1.1"
|
|
41
39
|
},
|
|
42
40
|
"devDependencies": {
|
|
43
|
-
"@eslint/compat": "^
|
|
44
|
-
"@eslint/js": "
|
|
41
|
+
"@eslint/compat": "^2.0.3",
|
|
42
|
+
"@eslint/js": "^10.0.1",
|
|
45
43
|
"@types/jest": "^30.0.0",
|
|
46
|
-
"@types/node": "^
|
|
47
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
48
|
-
"@typescript-eslint/parser": "^8.
|
|
49
|
-
"@vercel/ncc": "^0.38.
|
|
50
|
-
"eslint": "
|
|
44
|
+
"@types/node": "^25.5.0",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^8.57.0",
|
|
46
|
+
"@typescript-eslint/parser": "^8.57.0",
|
|
47
|
+
"@vercel/ncc": "^0.38.4",
|
|
48
|
+
"eslint": "^10.0.3",
|
|
51
49
|
"eslint-config-prettier": "^10.1.8",
|
|
52
|
-
"eslint-
|
|
53
|
-
"eslint-plugin-
|
|
54
|
-
"eslint-plugin-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"jest
|
|
58
|
-
"
|
|
59
|
-
"
|
|
50
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
51
|
+
"eslint-plugin-import-x": "^4.16.2",
|
|
52
|
+
"eslint-plugin-jest": "^29.15.0",
|
|
53
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
54
|
+
"globals": "^17.4.0",
|
|
55
|
+
"jest": "^30.3.0",
|
|
56
|
+
"jest-circus": "^30.3.0",
|
|
57
|
+
"nock": "^14.0.11",
|
|
58
|
+
"prettier": "^3.8.1",
|
|
60
59
|
"simple-git-hooks": "^2.13.1",
|
|
61
|
-
"ts-jest": "^29.4.
|
|
62
|
-
"typescript": "^5.9.
|
|
60
|
+
"ts-jest": "^29.4.6",
|
|
61
|
+
"typescript": "^5.9.3"
|
|
63
62
|
},
|
|
64
63
|
"overrides": {
|
|
65
|
-
"test-exclude": "^7.0.1"
|
|
64
|
+
"test-exclude": "^7.0.1",
|
|
65
|
+
"glob": "^13.0.6",
|
|
66
|
+
"minimatch": "^10.2.1"
|
|
66
67
|
},
|
|
67
68
|
"bugs": {
|
|
68
69
|
"url": "https://github.com/shivammathur/setup-php/issues"
|
|
@@ -1,45 +1,65 @@
|
|
|
1
1
|
amqp=amqp
|
|
2
2
|
apcu=apcu
|
|
3
3
|
ast=ast
|
|
4
|
+
brotli=brotli
|
|
4
5
|
couchbase=couchbase
|
|
5
6
|
ds=ds
|
|
6
7
|
event=event
|
|
8
|
+
excimer=excimer
|
|
7
9
|
expect=expect
|
|
8
10
|
gearman=gearman
|
|
11
|
+
gmagick=gmagick
|
|
9
12
|
gnupg=gnupg
|
|
10
13
|
grpc=grpc
|
|
11
14
|
igbinary=igbinary
|
|
12
15
|
imagick=imagick
|
|
13
16
|
imap=imap
|
|
17
|
+
interbase=interbase
|
|
14
18
|
lua=lua
|
|
15
19
|
mailparse=mailparse
|
|
20
|
+
maxminddb=maxminddb
|
|
16
21
|
mcrypt=mcrypt
|
|
17
22
|
memcache=memcache
|
|
18
23
|
memcached=memcached
|
|
19
24
|
mongodb=mongodb
|
|
25
|
+
mongodb1=mongodb1
|
|
20
26
|
msgpack=msgpack
|
|
27
|
+
newrelic=newrelic
|
|
28
|
+
oauth=oauth
|
|
29
|
+
opentelemetry=opentelemetry
|
|
21
30
|
pcov=pcov
|
|
31
|
+
pdo_firebird=pdo_firebird
|
|
22
32
|
pdo_sqlsrv=pdo_sqlsrv
|
|
23
33
|
pecl_http=http
|
|
24
34
|
phalcon3=phalcon
|
|
25
35
|
phalcon4=phalcon
|
|
26
36
|
phalcon5=phalcon
|
|
37
|
+
pinba=pinba
|
|
27
38
|
propro=propro
|
|
28
39
|
protobuf=protobuf
|
|
29
40
|
psr=psr
|
|
30
41
|
raphf=raphf
|
|
31
42
|
rdkafka=rdkafka
|
|
43
|
+
phpredis=redis
|
|
32
44
|
redis=redis
|
|
45
|
+
seaslog=seaslog
|
|
46
|
+
scalar_objects=scalar_objects
|
|
33
47
|
snmp=snmp
|
|
34
48
|
sqlsrv=sqlsrv
|
|
49
|
+
spx=spx
|
|
35
50
|
ssh2=ssh2
|
|
36
51
|
swoole=swoole
|
|
52
|
+
swow=swow
|
|
53
|
+
uopz=uopz
|
|
54
|
+
uploadprogress=uploadprogress
|
|
37
55
|
uuid=uuid
|
|
38
56
|
v8js=v8js
|
|
39
57
|
vips=vips
|
|
40
58
|
vld=vld
|
|
41
59
|
xdebug=xdebug
|
|
42
60
|
xdebug2=xdebug
|
|
61
|
+
xhprof=xhprof
|
|
43
62
|
xlswriter=xlswriter
|
|
44
63
|
yaml=yaml
|
|
45
64
|
zmq=zmq
|
|
65
|
+
zstd=zstd
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
amqp=rabbitmq-c
|
|
2
|
+
decimal=mpdecimal
|
|
3
|
+
ev=libev
|
|
4
|
+
event=libevent
|
|
5
|
+
geoip=geoip
|
|
6
|
+
gmagick=graphicsmagick
|
|
7
|
+
gnupg=gpgme
|
|
8
|
+
grpc=grpc protobuf
|
|
9
|
+
imagick=imagemagick
|
|
10
|
+
memcached=libmemcached libevent
|
|
11
|
+
protobuf=protobuf
|
|
12
|
+
rdkafka=librdkafka
|
|
13
|
+
snappy=snappy
|
|
14
|
+
sodium=libsodium
|
|
15
|
+
ssh2=libssh2
|
|
16
|
+
uv=libuv
|
|
17
|
+
uuid=util-linux
|
|
18
|
+
vips=vips
|
|
19
|
+
yaz=yaz
|
|
20
|
+
yaml=libyaml
|
|
21
|
+
zstd=zstd
|
|
22
|
+
zmq=zeromq
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
amqp=librabbitmq-dev
|
|
2
|
+
decimal=libmpdec-dev
|
|
3
|
+
ev=libev-dev
|
|
4
|
+
event=libevent-dev
|
|
5
|
+
geoip=libgeoip-dev
|
|
6
|
+
gmagick=graphicsmagick-libmagick-dev-compat
|
|
7
|
+
gnupg=libgpgme-dev
|
|
8
|
+
grpc=libgrpc-dev libprotobuf-dev protobuf-compiler
|
|
9
|
+
imagick=libmagickwand-dev libmagickcore-dev
|
|
10
|
+
memcached=libmemcached-dev libevent-dev
|
|
11
|
+
protobuf=libprotobuf-dev protobuf-compiler
|
|
12
|
+
rdkafka=librdkafka-dev
|
|
13
|
+
snappy=libsnappy-dev
|
|
14
|
+
sodium=libsodium-dev
|
|
15
|
+
ssh2=libssh2-1-dev
|
|
16
|
+
uv=libuv1-dev
|
|
17
|
+
uuid=uuid-dev
|
|
18
|
+
vips=libvips-dev
|
|
19
|
+
yaz=libyaz-dev
|
|
20
|
+
yaml=libyaml-dev
|
|
21
|
+
zstd=libzstd-dev
|
|
22
|
+
zmq=libzmq3-dev
|
package/src/configs/tools.json
CHANGED
|
@@ -266,7 +266,8 @@
|
|
|
266
266
|
"type": "custom-package",
|
|
267
267
|
"repository": "symfony-cli/symfony-cli",
|
|
268
268
|
"domain": "https://github.com",
|
|
269
|
-
"version_prefix": "
|
|
269
|
+
"version_prefix": "v",
|
|
270
|
+
"version_parameter": "-V"
|
|
270
271
|
},
|
|
271
272
|
"blackfire-player": {
|
|
272
273
|
"type": "custom-function",
|
package/src/core.ts
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import {EOL} from 'os';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Commands
|
|
5
|
+
*
|
|
6
|
+
* Command Format:
|
|
7
|
+
* ::name key=value,key=value::message
|
|
8
|
+
*
|
|
9
|
+
* @see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
interface CommandProperties {
|
|
13
|
+
[key: string]: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Sanitizes the message for use in a workflow command.
|
|
18
|
+
* @param message
|
|
19
|
+
*/
|
|
20
|
+
function toCommandValue(message: string | Error): string {
|
|
21
|
+
if (message instanceof Error) {
|
|
22
|
+
return message.toString();
|
|
23
|
+
}
|
|
24
|
+
return message;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Escapes data for safe use in workflow command messages.
|
|
29
|
+
* @param s
|
|
30
|
+
*/
|
|
31
|
+
function escapeData(s: string | Error): string {
|
|
32
|
+
return toCommandValue(s)
|
|
33
|
+
.replace(/%/g, '%25')
|
|
34
|
+
.replace(/\r/g, '%0D')
|
|
35
|
+
.replace(/\n/g, '%0A');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Escapes property values for safe use in workflow command properties.
|
|
40
|
+
* @param s
|
|
41
|
+
*/
|
|
42
|
+
function escapeProperty(s: string): string {
|
|
43
|
+
return s
|
|
44
|
+
.replace(/%/g, '%25')
|
|
45
|
+
.replace(/\r/g, '%0D')
|
|
46
|
+
.replace(/\n/g, '%0A')
|
|
47
|
+
.replace(/:/g, '%3A')
|
|
48
|
+
.replace(/,/g, '%2C');
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Issues a command to the GitHub Actions runner.
|
|
53
|
+
*
|
|
54
|
+
* @param command - The command name to issue
|
|
55
|
+
* @param properties - Additional properties for the command (key-value pairs)
|
|
56
|
+
* @param message - The message to include with the command
|
|
57
|
+
*/
|
|
58
|
+
export function issueCommand(
|
|
59
|
+
command: string,
|
|
60
|
+
properties: CommandProperties,
|
|
61
|
+
message: string | Error
|
|
62
|
+
): void {
|
|
63
|
+
let cmdStr = `::${command}`;
|
|
64
|
+
|
|
65
|
+
if (properties && Object.keys(properties).length > 0) {
|
|
66
|
+
cmdStr += ' ';
|
|
67
|
+
const props = Object.entries(properties)
|
|
68
|
+
.filter(([, val]) => val)
|
|
69
|
+
.map(([key, val]) => `${key}=${escapeProperty(val)}`)
|
|
70
|
+
.join(',');
|
|
71
|
+
cmdStr += props;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
cmdStr += `::${escapeData(message)}`;
|
|
75
|
+
process.stdout.write(cmdStr + EOL);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Adds an error issue.
|
|
80
|
+
* @param message - error issue message
|
|
81
|
+
*/
|
|
82
|
+
export function error(message: string | Error): void {
|
|
83
|
+
issueCommand('error', {}, message);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Sets the action status to failed.
|
|
88
|
+
* When the action exits it will be with an exit code of 1.
|
|
89
|
+
* @param message - add error issue message
|
|
90
|
+
*/
|
|
91
|
+
export function setFailed(message: string | Error): void {
|
|
92
|
+
process.exitCode = 1;
|
|
93
|
+
error(message);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Gets the value of an input.
|
|
98
|
+
* The value is trimmed.
|
|
99
|
+
* Returns an empty string if the value is not defined.
|
|
100
|
+
*
|
|
101
|
+
* @param name - name of the input to get
|
|
102
|
+
* @param required - whether the input is required
|
|
103
|
+
* @returns string
|
|
104
|
+
*/
|
|
105
|
+
export function getInput(name: string, required = false): string {
|
|
106
|
+
const val: string =
|
|
107
|
+
process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
|
|
108
|
+
if (required && !val) {
|
|
109
|
+
throw new Error(`Input required and not supplied: ${name}`);
|
|
110
|
+
}
|
|
111
|
+
return val.trim();
|
|
112
|
+
}
|
package/src/extensions.ts
CHANGED
|
@@ -32,25 +32,27 @@ export async function addExtensionDarwin(
|
|
|
32
32
|
add_script += await utils.parseExtensionSource(extension, ext_prefix);
|
|
33
33
|
return;
|
|
34
34
|
// match 7.4relay...8.5relay
|
|
35
|
-
// match 5.3blackfire...8.
|
|
36
|
-
// match 5.3blackfire-(semver)...8.
|
|
37
|
-
// match couchbase, event, geos, pdo_oci, oci8, http, pecl_http
|
|
38
|
-
// match 5.3ioncube...8.
|
|
35
|
+
// match 5.3blackfire...8.5blackfire
|
|
36
|
+
// match 5.3blackfire-(semver)...8.5blackfire-(semver)
|
|
37
|
+
// match couchbase, event, geos, ibm_db2, pdo_ibm, pdo_oci, oci8, http, pecl_http
|
|
38
|
+
// match 5.3ioncube...8.5ioncube
|
|
39
39
|
// match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.4phalcon5
|
|
40
|
-
// match 7.0zephir_parser...8.
|
|
41
|
-
case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d
|
|
42
|
-
case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])blackfire(-\d+\.\d+\.\d+)?$/.test(
|
|
40
|
+
// match 7.0zephir_parser...8.5zephir_parser
|
|
41
|
+
case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d+|-nightly)?$/.test(
|
|
43
42
|
version_extension
|
|
44
43
|
):
|
|
45
|
-
case /^
|
|
44
|
+
case /^(5\.[3-6]|7\.[0-4]|8\.[0-5])blackfire(-\d+\.\d+\.\d+)?$/.test(
|
|
45
|
+
version_extension
|
|
46
|
+
):
|
|
47
|
+
case /^couchbase|^event|^gearman$|^geos$|^ibm_db2$|^pdo_ibm$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(
|
|
46
48
|
extension
|
|
47
49
|
):
|
|
48
|
-
case /^(5\.[3-6]|7\.[0-4]|8\.[0-
|
|
50
|
+
case /^(5\.[3-6]|7\.[0-4]|8\.[0-5])ioncube$/.test(version_extension):
|
|
49
51
|
case /(5\.6|7\.[0-3])phalcon3|7\.[2-4]phalcon4|(7\.4|8\.[0-4])phalcon5?/.test(
|
|
50
52
|
version_extension
|
|
51
53
|
):
|
|
52
54
|
case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
|
|
53
|
-
case /^(7\.[0-4]|8\.[0-
|
|
55
|
+
case /^(7\.[0-4]|8\.[0-5])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
|
|
54
56
|
version_extension
|
|
55
57
|
):
|
|
56
58
|
add_script += await utils.customPackage(
|
|
@@ -83,13 +85,14 @@ export async function addExtensionDarwin(
|
|
|
83
85
|
add_script += await utils.getUnsupportedLog('pcov', version, 'darwin');
|
|
84
86
|
return;
|
|
85
87
|
// match brew extensions
|
|
86
|
-
case /(?<!5\.[3-5])(amqp|apcu|expect|gnupg|grpc|igbinary|imagick|imap|mailparse|mcrypt|memcache|memcached|mongodb|msgpack|protobuf|psr|raphf|rdkafka|redis|snmp|ssh2|swoole|uuid|vld|xdebug|xdebug2|yaml|zmq)/.test(
|
|
88
|
+
case /(?<!5\.[3-5])(amqp|apcu|brotli|excimer|expect|gmagick|gnupg|grpc|igbinary|imagick|imap|interbase|mailparse|maxminddb|mcrypt|memcache|memcached|mongodb|mongodb1|msgpack|newrelic|oauth|opentelemetry|pdo_firebird|pinba|protobuf|psr|raphf|rdkafka|redis|scalar_objects|seaslog|snmp|spx|ssh2|swoole|uopz|uploadprogress|uuid|vld|xdebug|xdebug2|xhprof|yaml|zmq|zstd)/.test(
|
|
87
89
|
version_extension
|
|
88
90
|
):
|
|
89
91
|
case /(?<!5\.[3-6])(ds|v8js)/.test(version_extension):
|
|
90
92
|
case /(5\.6|7\.[0-4])(propro|lua)/.test(version_extension):
|
|
91
93
|
case /(?<!5\.[3-6]|7\.0)pcov/.test(version_extension):
|
|
92
94
|
case /(?<!5\.[3-6])(ast|vips|xlswriter)/.test(version_extension):
|
|
95
|
+
case /^(8\.[0-5])swow$/.test(version_extension):
|
|
93
96
|
add_script += await utils.joins(
|
|
94
97
|
'\nadd_brew_extension',
|
|
95
98
|
ext_name,
|
|
@@ -134,24 +137,26 @@ export async function addExtensionWindows(
|
|
|
134
137
|
case /^none$/.test(ext_name):
|
|
135
138
|
add_script += '\nDisable-AllShared';
|
|
136
139
|
break;
|
|
137
|
-
// match 5.3blackfire...8.
|
|
138
|
-
// match 5.3blackfire-(semver)...8.
|
|
139
|
-
// match pdo_oci and oci8
|
|
140
|
-
// match 5.3ioncube...8.
|
|
140
|
+
// match 5.3blackfire...8.5blackfire
|
|
141
|
+
// match 5.3blackfire-(semver)...8.5blackfire-(semver)
|
|
142
|
+
// match ibm_db2, pdo_ibm, pdo_oci and oci8
|
|
143
|
+
// match 5.3ioncube...8.5ioncube
|
|
141
144
|
// match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.4phalcon5
|
|
142
|
-
// match 7.1pecl_http...8.
|
|
143
|
-
// match 7.0zephir_parser...8.
|
|
144
|
-
case /^(5\.[3-6]|7\.[0-4]|8\.[0-
|
|
145
|
+
// match 7.1pecl_http...8.5pecl_http and 7.1http...8.5http
|
|
146
|
+
// match 7.0zephir_parser...8.5zephir_parser
|
|
147
|
+
case /^(5\.[3-6]|7\.[0-4]|8\.[0-5])blackfire(-\d+\.\d+\.\d+)?$/.test(
|
|
145
148
|
version_extension
|
|
146
149
|
):
|
|
147
|
-
case /^pdo_oci$|^oci8$|^pdo_firebird$/.test(
|
|
148
|
-
|
|
150
|
+
case /^ibm_db2$|^pdo_ibm$|^pdo_oci$|^oci8$|^pdo_firebird$/.test(
|
|
151
|
+
extension
|
|
152
|
+
):
|
|
153
|
+
case /^(5\.[3-6]|7\.[0-4]|8\.[0-5])ioncube$/.test(version_extension):
|
|
149
154
|
case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-4])phalcon5?$/.test(
|
|
150
155
|
version_extension
|
|
151
156
|
):
|
|
152
|
-
case /^(7\.[1-4]|8\.
|
|
157
|
+
case /^(7\.[1-4]|8\.[0-5])(pecl_)?http/.test(version_extension):
|
|
153
158
|
case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
|
|
154
|
-
case /^(7\.[0-4]|8\.[0-
|
|
159
|
+
case /^(7\.[0-4]|8\.[0-5])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
|
|
155
160
|
version_extension
|
|
156
161
|
):
|
|
157
162
|
add_script += await utils.customPackage(
|
|
@@ -264,30 +269,32 @@ export async function addExtensionLinux(
|
|
|
264
269
|
add_script += await utils.parseExtensionSource(extension, ext_prefix);
|
|
265
270
|
return;
|
|
266
271
|
// match 7.4relay...8.5relay
|
|
267
|
-
// match 5.3blackfire...8.
|
|
268
|
-
// match 5.3blackfire-(semver)...8.
|
|
272
|
+
// match 5.3blackfire...8.5blackfire
|
|
273
|
+
// match 5.3blackfire-(semver)...8.5blackfire-(semver)
|
|
269
274
|
// match 5.3pdo_cubrid...7.2php_cubrid, 5.3cubrid...7.4cubrid
|
|
270
|
-
// match couchbase, geos, pdo_oci, oci8, http, pecl_http
|
|
271
|
-
// match 5.3ioncube...8.
|
|
275
|
+
// match couchbase, geos, ibm_db2, pdo_ibm, pdo_oci, oci8, http, pecl_http
|
|
276
|
+
// match 5.3ioncube...8.5ioncube
|
|
272
277
|
// match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, 7.4phalcon5...8.4phalcon5
|
|
273
|
-
// match 7.0zephir_parser...8.
|
|
274
|
-
case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d
|
|
275
|
-
|
|
278
|
+
// match 7.0zephir_parser...8.5zephir_parser
|
|
279
|
+
case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d+|-nightly)?$/.test(
|
|
280
|
+
version_extension
|
|
281
|
+
):
|
|
282
|
+
case /^(5\.[3-6]|7\.[0-4]|8\.[0-5])blackfire(-\d+\.\d+\.\d+)?$/.test(
|
|
276
283
|
version_extension
|
|
277
284
|
):
|
|
278
285
|
case /^((5\.[3-6])|(7\.[0-2]))pdo_cubrid$|^((5\.[3-6])|(7\.[0-4]))cubrid$/.test(
|
|
279
286
|
version_extension
|
|
280
287
|
):
|
|
281
|
-
case /^couchbase|^event|^gearman$|^geos$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(
|
|
288
|
+
case /^couchbase|^event|^gearman$|^geos$|^ibm_db2$|^pdo_ibm$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(
|
|
282
289
|
extension
|
|
283
290
|
):
|
|
284
291
|
case /(?<!5\.[3-5])intl-\d+\.\d+$/.test(version_extension):
|
|
285
|
-
case /^(5\.[3-6]|7\.[0-4]|8\.[0-
|
|
292
|
+
case /^(5\.[3-6]|7\.[0-4]|8\.[0-5])ioncube$/.test(version_extension):
|
|
286
293
|
case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-4])phalcon5?$/.test(
|
|
287
294
|
version_extension
|
|
288
295
|
):
|
|
289
296
|
case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
|
|
290
|
-
case /^(7\.[0-4]|8\.[0-
|
|
297
|
+
case /^(7\.[0-4]|8\.[0-5])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
|
|
291
298
|
version_extension
|
|
292
299
|
):
|
|
293
300
|
add_script += await utils.customPackage(
|
package/src/fetch.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Redirect status codes set for O(1) lookup
|
|
3
|
+
*/
|
|
4
|
+
const REDIRECT_CODES = new Set([301, 302, 303, 307, 308]);
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
|
-
* Function to fetch a URL
|
|
7
|
+
* Function to fetch a URL using native fetch API (Node 24+)
|
|
7
8
|
*
|
|
8
9
|
* @param input_url
|
|
9
10
|
* @param auth_token
|
|
@@ -14,43 +15,28 @@ export async function fetch(
|
|
|
14
15
|
auth_token?: string,
|
|
15
16
|
redirect_count = 5
|
|
16
17
|
): Promise<Record<string, string>> {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
res.on('end', () => resolve({data: `${body}`}));
|
|
38
|
-
} else if (
|
|
39
|
-
[301, 302, 303, 307, 308].includes(res.statusCode as number)
|
|
40
|
-
) {
|
|
41
|
-
if (redirect_count > 0 && res.headers.location) {
|
|
42
|
-
fetch(res.headers.location, auth_token, redirect_count--).then(
|
|
43
|
-
resolve
|
|
44
|
-
);
|
|
45
|
-
} else {
|
|
46
|
-
resolve({error: `${res.statusCode}: Redirect error`});
|
|
47
|
-
}
|
|
48
|
-
} else {
|
|
49
|
-
resolve({error: `${res.statusCode}: ${res.statusMessage}`});
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
req.end();
|
|
18
|
+
const headers: Record<string, string> = {
|
|
19
|
+
'User-Agent': `Mozilla/5.0 (${process.platform} ${process.arch}) setup-php`
|
|
20
|
+
};
|
|
21
|
+
if (auth_token) {
|
|
22
|
+
headers['Authorization'] = 'Bearer ' + auth_token;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
try {
|
|
26
|
+
const response = await globalThis.fetch(input_url, {
|
|
27
|
+
headers,
|
|
28
|
+
redirect: redirect_count > 0 ? 'follow' : 'manual'
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
if (response.ok) {
|
|
32
|
+
const data = await response.text();
|
|
33
|
+
return {data};
|
|
34
|
+
} else if (REDIRECT_CODES.has(response.status) && redirect_count <= 0) {
|
|
35
|
+
return {error: `${response.status}: Redirect error`};
|
|
36
|
+
} else {
|
|
37
|
+
return {error: `${response.status}: ${response.statusText}`};
|
|
53
38
|
}
|
|
54
|
-
)
|
|
55
|
-
|
|
39
|
+
} catch (error) {
|
|
40
|
+
return {error: `Fetch error: ${(error as Error).message}`};
|
|
41
|
+
}
|
|
56
42
|
}
|
package/src/install.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import {exec} from '@actions/exec';
|
|
4
|
-
import * as core from '@actions/core';
|
|
5
4
|
import * as config from './config';
|
|
5
|
+
import * as core from './core';
|
|
6
6
|
import * as coverage from './coverage';
|
|
7
7
|
import * as extensions from './extensions';
|
|
8
8
|
import * as tools from './tools';
|