mirror of
https://github.com/shivammathur/setup-php.git
synced 2026-03-06 03:32:49 +07:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
650d05dc41 | ||
|
|
746e1a46d1 | ||
|
|
a8ca9e3783 | ||
|
|
769a4a81fd |
@@ -260,7 +260,7 @@ describe('Tools tests', () => {
|
|||||||
};
|
};
|
||||||
data.extension = '';
|
data.extension = '';
|
||||||
expect(await tools.getUrl(data)).toBe(
|
expect(await tools.getUrl(data)).toBe(
|
||||||
'https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/download/cs2pr'
|
'https://github.com/staabm/annotate-pull-request-from-checkstyle/releases/latest/download/cs2pr'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
2
dist/index.js
vendored
2
dist/index.js
vendored
File diff suppressed because one or more lines are too long
18
package-lock.json
generated
18
package-lock.json
generated
@@ -96,7 +96,6 @@
|
|||||||
"integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
|
"integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
"@babel/code-frame": "^7.27.1",
|
"@babel/code-frame": "^7.27.1",
|
||||||
@@ -1700,7 +1699,6 @@
|
|||||||
"integrity": "sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==",
|
"integrity": "sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.56.0",
|
"@typescript-eslint/scope-manager": "8.56.0",
|
||||||
"@typescript-eslint/types": "8.56.0",
|
"@typescript-eslint/types": "8.56.0",
|
||||||
@@ -2191,7 +2189,6 @@
|
|||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"acorn": "bin/acorn"
|
"acorn": "bin/acorn"
|
||||||
},
|
},
|
||||||
@@ -2595,7 +2592,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"caniuse-lite": "^1.0.30001718",
|
"caniuse-lite": "^1.0.30001718",
|
||||||
"electron-to-chromium": "^1.5.160",
|
"electron-to-chromium": "^1.5.160",
|
||||||
@@ -3324,7 +3320,6 @@
|
|||||||
"integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==",
|
"integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.8.0",
|
"@eslint-community/eslint-utils": "^4.8.0",
|
||||||
"@eslint-community/regexpp": "^4.12.1",
|
"@eslint-community/regexpp": "^4.12.1",
|
||||||
@@ -3385,7 +3380,6 @@
|
|||||||
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
|
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"eslint-config-prettier": "bin/cli.js"
|
"eslint-config-prettier": "bin/cli.js"
|
||||||
},
|
},
|
||||||
@@ -3512,7 +3506,6 @@
|
|||||||
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
|
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rtsao/scc": "^1.1.0",
|
"@rtsao/scc": "^1.1.0",
|
||||||
"array-includes": "^3.1.9",
|
"array-includes": "^3.1.9",
|
||||||
@@ -4979,7 +4972,6 @@
|
|||||||
"integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==",
|
"integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jest/core": "30.2.0",
|
"@jest/core": "30.2.0",
|
||||||
"@jest/types": "30.2.0",
|
"@jest/types": "30.2.0",
|
||||||
@@ -5804,9 +5796,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minimatch": {
|
"node_modules/minimatch": {
|
||||||
"version": "10.2.2",
|
"version": "10.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||||
"integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==",
|
"integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BlueOak-1.0.0",
|
"license": "BlueOak-1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6344,7 +6336,6 @@
|
|||||||
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
|
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"prettier": "bin/prettier.cjs"
|
"prettier": "bin/prettier.cjs"
|
||||||
},
|
},
|
||||||
@@ -7218,7 +7209,6 @@
|
|||||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
@@ -7489,7 +7479,6 @@
|
|||||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"peer": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
"tsserver": "bin/tsserver"
|
"tsserver": "bin/tsserver"
|
||||||
@@ -7545,7 +7534,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"napi-postinstall": "^0.3.0"
|
"napi-postinstall": "^0.3.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ Function Get-SqlsrvReleaseVersion() {
|
|||||||
return '5.10.1'
|
return '5.10.1'
|
||||||
} elseif ($version -eq '8.0') {
|
} elseif ($version -eq '8.0') {
|
||||||
return '5.11.1'
|
return '5.11.1'
|
||||||
|
} elseif ($version -match '8.[1-2]') {
|
||||||
|
return '5.12.0'
|
||||||
} else {
|
} else {
|
||||||
return 'latest'
|
return 'latest'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ get_sqlsrv_version() {
|
|||||||
echo '5.10.1'
|
echo '5.10.1'
|
||||||
elif [[ "${version:?}" =~ 8.0 ]]; then
|
elif [[ "${version:?}" =~ 8.0 ]]; then
|
||||||
echo '5.11.1'
|
echo '5.11.1'
|
||||||
|
elif [[ "${version:?}" =~ 8.[1-2] ]]; then
|
||||||
|
echo '5.12.0'
|
||||||
else
|
else
|
||||||
# Return an empty string so that pecl will install the latest version.
|
# Return an empty string so that pecl will install the latest version.
|
||||||
echo ''
|
echo ''
|
||||||
|
|||||||
@@ -74,35 +74,51 @@ terminate_process_tree() {
|
|||||||
run_with_inactivity_watchdog() {
|
run_with_inactivity_watchdog() {
|
||||||
local timeout_secs="${SETUP_PHP_BREW_INACTIVITY_TIMEOUT:-180}"
|
local timeout_secs="${SETUP_PHP_BREW_INACTIVITY_TIMEOUT:-180}"
|
||||||
local poll_secs="${SETUP_PHP_BREW_WATCHDOG_POLL:-5}"
|
local poll_secs="${SETUP_PHP_BREW_WATCHDOG_POLL:-5}"
|
||||||
local tmp_dir fifo log_file timeout_file command_pid reader_pid monitor_pid exit_code
|
local tmp_dir stdout_fifo stderr_fifo stdout_log stderr_log timeout_file
|
||||||
|
local command_pid stdout_reader_pid stderr_reader_pid monitor_pid exit_code
|
||||||
tmp_dir="$(mktemp -d "${TMPDIR:-/tmp}/setup-php-brew.XXXXXX")" || return 1
|
tmp_dir="$(mktemp -d "${TMPDIR:-/tmp}/setup-php-brew.XXXXXX")" || return 1
|
||||||
fifo="$tmp_dir/output.fifo"
|
stdout_fifo="$tmp_dir/stdout.fifo"
|
||||||
log_file="$tmp_dir/output.log"
|
stderr_fifo="$tmp_dir/stderr.fifo"
|
||||||
|
stdout_log="$tmp_dir/stdout.log"
|
||||||
|
stderr_log="$tmp_dir/stderr.log"
|
||||||
timeout_file="$tmp_dir/timed_out"
|
timeout_file="$tmp_dir/timed_out"
|
||||||
mkfifo "$fifo" || {
|
mkfifo "$stdout_fifo" "$stderr_fifo" || {
|
||||||
rm -rf "$tmp_dir"
|
rm -rf "$tmp_dir"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
: >"$log_file"
|
: >"$stdout_log"
|
||||||
|
: >"$stderr_log"
|
||||||
|
|
||||||
("$@" >"$fifo" 2>&1) &
|
("$@" >"$stdout_fifo" 2>"$stderr_fifo") &
|
||||||
command_pid=$!
|
command_pid=$!
|
||||||
|
|
||||||
(
|
(
|
||||||
while IFS= read -r line || [ -n "$line" ]; do
|
while IFS= read -r line || [ -n "$line" ]; do
|
||||||
printf '%s\n' "$line"
|
printf '%s\n' "$line"
|
||||||
printf '%s\n' "$line" >>"$log_file"
|
printf '%s\n' "$line" >>"$stdout_log"
|
||||||
done <"$fifo"
|
done <"$stdout_fifo"
|
||||||
) &
|
) &
|
||||||
reader_pid=$!
|
stdout_reader_pid=$!
|
||||||
|
|
||||||
(
|
(
|
||||||
local last_activity current_activity now
|
while IFS= read -r line || [ -n "$line" ]; do
|
||||||
last_activity=$(get_file_mtime "$log_file")
|
printf '%s\n' "$line" >&2
|
||||||
|
printf '%s\n' "$line" >>"$stderr_log"
|
||||||
|
done <"$stderr_fifo"
|
||||||
|
) &
|
||||||
|
stderr_reader_pid=$!
|
||||||
|
|
||||||
|
(
|
||||||
|
local last_activity current_activity current_err_activity now
|
||||||
|
last_activity=$(get_file_mtime "$stdout_log")
|
||||||
|
current_err_activity=$(get_file_mtime "$stderr_log")
|
||||||
|
[ "$current_err_activity" -gt "$last_activity" ] && last_activity="$current_err_activity"
|
||||||
while kill -0 "$command_pid" >/dev/null 2>&1; do
|
while kill -0 "$command_pid" >/dev/null 2>&1; do
|
||||||
sleep "$poll_secs"
|
sleep "$poll_secs"
|
||||||
current_activity=$(get_file_mtime "$log_file")
|
current_activity=$(get_file_mtime "$stdout_log")
|
||||||
[ "$current_activity" -gt "$last_activity" ] && last_activity="$current_activity"
|
[ "$current_activity" -gt "$last_activity" ] && last_activity="$current_activity"
|
||||||
|
current_err_activity=$(get_file_mtime "$stderr_log")
|
||||||
|
[ "$current_err_activity" -gt "$last_activity" ] && last_activity="$current_err_activity"
|
||||||
now=$(date +%s)
|
now=$(date +%s)
|
||||||
if [ $((now - last_activity)) -ge "$timeout_secs" ]; then
|
if [ $((now - last_activity)) -ge "$timeout_secs" ]; then
|
||||||
printf "\nsetup-php: brew produced no output for %ss; terminating and retrying...\n" "$timeout_secs" >&2
|
printf "\nsetup-php: brew produced no output for %ss; terminating and retrying...\n" "$timeout_secs" >&2
|
||||||
@@ -116,7 +132,8 @@ run_with_inactivity_watchdog() {
|
|||||||
|
|
||||||
wait "$command_pid"
|
wait "$command_pid"
|
||||||
exit_code=$?
|
exit_code=$?
|
||||||
wait "$reader_pid" 2>/dev/null || true
|
wait "$stdout_reader_pid" 2>/dev/null || true
|
||||||
|
wait "$stderr_reader_pid" 2>/dev/null || true
|
||||||
kill "$monitor_pid" >/dev/null 2>&1 || true
|
kill "$monitor_pid" >/dev/null 2>&1 || true
|
||||||
wait "$monitor_pid" 2>/dev/null || true
|
wait "$monitor_pid" 2>/dev/null || true
|
||||||
|
|
||||||
|
|||||||
@@ -244,12 +244,13 @@ export async function filterList(tools_list: string[]): Promise<string[]> {
|
|||||||
* @param data
|
* @param data
|
||||||
*/
|
*/
|
||||||
export async function getUrl(data: ToolInput): Promise<string> {
|
export async function getUrl(data: ToolInput): Promise<string> {
|
||||||
if ((data.version ?? 'latest') === 'latest') {
|
const version = data.version ?? 'latest';
|
||||||
|
if (version === 'latest' || version === '') {
|
||||||
return [
|
return [
|
||||||
data.domain,
|
data.domain,
|
||||||
data.repository,
|
data.repository,
|
||||||
data.prefix,
|
data.prefix,
|
||||||
data.version,
|
'latest',
|
||||||
data.verb,
|
data.verb,
|
||||||
data.tool + data.extension
|
data.tool + data.extension
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user