Bump version to 1.9.5

Switch to fixed getcomposer.org links

Add composer fallback
This commit is contained in:
Shivam Mathur
2020-08-16 06:38:52 +05:30
parent 5593bd4bd3
commit f7fb800623
11 changed files with 871 additions and 1536 deletions

View File

@ -20,6 +20,8 @@ export async function build(
os_version: string
): Promise<string> {
// taking inputs
const name = 'setup-php';
const url = 'setup-php.com/support';
const extension_csv: string =
(await utils.getInput('extensions', false)) ||
(await utils.getInput('extension', false)) ||
@ -50,6 +52,9 @@ export async function build(
script += await config.addINIValues(ini_values_csv, os_version);
}
script += '\n' + (await utils.stepLog('Support this project', os_version));
script += '\n' + (await utils.addLog('$tick', name, url, os_version));
return await utils.writeScript(filename, script);
}

View File

@ -45,7 +45,7 @@ get_pecl_version() {
extension=$1
stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot)")"
pecl_rest='https://pecl.php.net/rest/r/'
response=$(curl -sL "$pecl_rest$extension"/allreleases.xml)
response=$(curl "${curl_opts[@]}" "$pecl_rest$extension"/allreleases.xml)
pecl_version=$(echo "$response" | grep -m 1 -Eio "(\d*\.\d*\.\d*$stability\d*)")
if [ ! "$pecl_version" ]; then
pecl_version=$(echo "$response" | grep -m 1 -Eo "(\d*\.\d*\.\d*)")
@ -138,8 +138,13 @@ add_tool() {
if [ ! -e "$tool_path" ]; then
rm -rf "$tool_path"
fi
status_code=$(sudo curl -s -w "%{http_code}" -o "$tool_path" -L "$url")
if [ "$tool" = "composer" ]; then
IFS="," read -r -a urls <<< "$url"
status_code=$(sudo curl -f -w "%{http_code}" -o "$tool_path" "${curl_opts[@]}" "${urls[0]}") ||
status_code=$(sudo curl -w "%{http_code}" -o "$tool_path" "${curl_opts[@]}" "${urls[1]}")
else
status_code=$(sudo curl -w "%{http_code}" -o "$tool_path" "${curl_opts[@]}" "$url")
fi
if [ "$status_code" = "200" ]; then
sudo chmod a+x "$tool_path"
if [ "$tool" = "composer" ]; then
@ -200,6 +205,7 @@ tick="✓"
cross="✗"
version=$1
tool_path_dir="/usr/local/bin"
curl_opts=(-sL)
existing_version=$(php-config --version 2>/dev/null | cut -c 1-3)
# Setup PHP

View File

@ -1,3 +0,0 @@
cd ~ && git clone --depth=1 https://github.com/xdebug/xdebug.git
cd xdebug || echo "Failed to clone Xdebug"
sudo ./rebuild.sh

View File

@ -1,6 +0,0 @@
cd ~ && git clone --depth=1 https://github.com/xdebug/xdebug.git
cd xdebug || echo "Failed to clone Xdebug"
sudo phpize
sudo ./configure
sudo make
sudo cp modules/xdebug.so "$(php -i | grep "extension_dir => /opt" | sed -e "s|.*=> s*||")"

View File

@ -16,7 +16,7 @@ add_log() {
fi
}
# Function to backup and cleanup package lists.
# Function to backup and cleanup package lists
cleanup_lists() {
if [ ! -e /etc/apt/sources.list.d.save ]; then
sudo mv /etc/apt/sources.list.d /etc/apt/sources.list.d.save || true
@ -51,7 +51,7 @@ get_pecl_version() {
extension=$1
stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot)")"
pecl_rest='https://pecl.php.net/rest/r/'
response=$(curl -sL "$pecl_rest$extension"/allreleases.xml)
response=$(curl "${curl_opts[@]}" "$pecl_rest$extension"/allreleases.xml)
pecl_version=$(echo "$response" | grep -m 1 -Pio "(\d*\.\d*\.\d*$stability\d*)")
if [ ! "$pecl_version" ]; then
pecl_version=$(echo "$response" | grep -m 1 -Po "(\d*\.\d*\.\d*)")
@ -169,7 +169,13 @@ add_tool() {
if [ ! -e "$tool_path" ]; then
rm -rf "$tool_path"
fi
status_code=$(sudo curl -s -w "%{http_code}" -o "$tool_path" -L "$url")
if [ "$tool" = "composer" ]; then
IFS="," read -r -a urls <<< "$url"
status_code=$(sudo curl -f -w "%{http_code}" -o "$tool_path" "${curl_opts[@]}" "${urls[0]}") ||
status_code=$(sudo curl -w "%{http_code}" -o "$tool_path" "${curl_opts[@]}" "${urls[1]}")
else
status_code=$(sudo curl -w "%{http_code}" -o "$tool_path" "${curl_opts[@]}" "$url")
fi
if [ "$status_code" = "200" ]; then
sudo chmod a+x "$tool_path"
if [ "$tool" = "composer" ]; then
@ -184,6 +190,7 @@ add_tool() {
add_log "$tick" "$tool" "Added"
else
add_log "$cross" "$tool" "Could not setup $tool"
[ "$tool" = "composer" ] && exit 1
fi
}
@ -210,7 +217,7 @@ add_devtools() {
# Function to setup the nightly build from master branch
setup_master() {
curl -sL https://github.com/shivammathur/php-builder/releases/latest/download/install.sh | bash -s "github"
curl "${curl_opts[@]}" https://github.com/shivammathur/php-builder/releases/latest/download/install.sh | bash -s "github"
}
# Function to setup PECL
@ -250,6 +257,7 @@ version=$1
debconf_fix="DEBIAN_FRONTEND=noninteractive"
apt_install="sudo $debconf_fix apt-fast install -y"
tool_path_dir="/usr/local/bin"
curl_opts=(-sL)
existing_version=$(php-config --version 2>/dev/null | cut -c 1-3)
# Setup PHP

View File

@ -145,8 +145,6 @@ Function Add-Tool() {
Param (
[Parameter(Position = 0, Mandatory = $true)]
[ValidateNotNull()]
[ValidateLength(1, [int]::MaxValue)]
[string]
$url,
[Parameter(Position = 1, Mandatory = $true)]
[ValidateNotNull()]
@ -157,6 +155,7 @@ Function Add-Tool() {
if (Test-Path $php_dir\$tool) {
Remove-Item $php_dir\$tool
}
if($url.Count -gt 1) { $url = $url[0] }
if ($tool -eq "symfony") {
Invoke-WebRequest -UseBasicParsing -Uri $url -OutFile $php_dir\$tool.exe
Add-ToProfile $current_profile $tool "New-Alias $tool $php_dir\$tool.exe" > $null 2>&1

View File

@ -1,6 +1,4 @@
import * as utils from './utils';
import * as httpm from '@actions/http-client';
import {IHttpClientResponse as hcr} from '@actions/http-client/interfaces';
/**
* Function to get command to setup tools
@ -305,23 +303,21 @@ export async function addComposer(tools_list: string[]): Promise<string[]> {
* @param version
*/
export async function getComposerUrl(version: string): Promise<string> {
const getComposerUrlHelper = async function (
version: string
): Promise<string> {
const client: httpm.HttpClient = new httpm.HttpClient('setup-php');
const response: hcr = await client.get('https://getcomposer.org/versions');
const data = JSON.parse(await response.readBody());
return 'https://getcomposer.org' + data[version][0]['path'];
};
const cache_url =
'https://github.com/shivammathur/composer-cache/releases/latest/download/composer-' +
version.replace('latest', 'stable') +
'.phar,';
switch (version) {
case 'snapshot':
return 'https://getcomposer.org/composer.phar';
return cache_url + 'https://getcomposer.org/composer.phar';
case 'preview':
case '1':
case '2':
return await getComposerUrlHelper(version);
return (
cache_url + 'https://getcomposer.org/composer-' + version + '.phar'
);
default:
return 'https://getcomposer.org/composer-stable.phar';
return cache_url + 'https://getcomposer.org/composer-stable.phar';
}
}