mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 15:26:23 +07:00 
			
		
		
		
	Bump version to 1.9.5
Switch to fixed getcomposer.org links Add composer fallback
This commit is contained in:
		| @ -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); | ||||
| } | ||||
|  | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -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 | ||||
| @ -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*||")" | ||||
| @ -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 | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
							
								
								
									
										22
									
								
								src/tools.ts
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								src/tools.ts
									
									
									
									
									
								
							| @ -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'; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shivam Mathur
					Shivam Mathur