mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-07-27 00:53:51 +07:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
17983e66e5 | |||
33a005dd90 | |||
1870ffc08c | |||
70fd71ab48 | |||
2f1900f7bc | |||
19497a0597 | |||
5b2e081bc0 | |||
66fa82fbca | |||
4aa42214b1 | |||
1e2c96a4b4 | |||
3e8d887b0d | |||
a3d5500a6a | |||
e763fddf01 | |||
3cd5c7fd3a | |||
988cef62da | |||
be3ee05178 |
2
.github/workflows/main-workflow.yml
vendored
2
.github/workflows/main-workflow.yml
vendored
@ -1,5 +1,6 @@
|
|||||||
name: Main workflow
|
name: Main workflow
|
||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- releases/v1
|
- releases/v1
|
||||||
@ -49,6 +50,7 @@ jobs:
|
|||||||
php -r "if(phpversion()>=7.1 && ! extension_loaded('pcov')) {throw new Exception('PCOV not found');}"
|
php -r "if(phpversion()>=7.1 && ! extension_loaded('pcov')) {throw new Exception('PCOV not found');}"
|
||||||
- name: Testing ini values
|
- name: Testing ini values
|
||||||
run: |
|
run: |
|
||||||
|
php -r "if(ini_get('memory_limit')!='-1') {throw new Exception('memory_limit not disabled');}"
|
||||||
php -r "if(ini_get('post_max_size')!='256M') {throw new Exception('post_max_size not added');}"
|
php -r "if(ini_get('post_max_size')!='256M') {throw new Exception('post_max_size not added');}"
|
||||||
php -r "if(ini_get('short_open_tag')!=1) {throw new Exception('short_open_tag not added');}"
|
php -r "if(ini_get('short_open_tag')!=1) {throw new Exception('short_open_tag not added');}"
|
||||||
php -r "if(ini_get('date.timezone')!='Asia/Kolkata') {throw new Exception('date.timezone not added');}"
|
php -r "if(ini_get('date.timezone')!='Asia/Kolkata') {throw new Exception('date.timezone not added');}"
|
11
README.md
11
README.md
@ -357,7 +357,9 @@ Examples for setting up this GitHub Action with different PHP Frameworks/Package
|
|||||||
|
|
||||||
## :scroll: License
|
## :scroll: License
|
||||||
|
|
||||||
The scripts and documentation in this project are released under the [MIT License](LICENSE "License for shivammathur/setup-php"). This project has multiple [dependencies](https://github.com/shivammathur/setup-php/network/dependencies "Dependencies for this PHP Action") and uses [various works](#bookmark-dependencies "Tools used by this action"). Their licenses can be found in their respective repositories.
|
- The scripts and documentation in this project are released under the [MIT License](LICENSE "License for shivammathur/setup-php").
|
||||||
|
- This project has multiple [dependencies](#bookmark-dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
|
||||||
|
- The logo for `setup-php` is a derivative work of [php.net logo](https://www.php.net/download-logos.php) and is licensed under the [CC BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/ "Creative Commons License").
|
||||||
|
|
||||||
## :+1: Contributions
|
## :+1: Contributions
|
||||||
|
|
||||||
@ -367,10 +369,8 @@ Contributions are welcome! See [Contributor's Guide](.github/CONTRIBUTING.md "sh
|
|||||||
|
|
||||||
If this action helped you.
|
If this action helped you.
|
||||||
|
|
||||||
- To support this project subscribe on [Patreon](https://www.patreon.com/shivammathur "Shivam Mathur Patreon") or sponsor using [Paypal](https://www.paypal.me/shivammathur "Shivam Mathur PayPal").
|
- Sponsor the project by subscribing on [Patreon](https://www.patreon.com/shivammathur "Shivam Mathur Patreon") or by contributing using [Paypal](https://www.paypal.me/shivammathur "Shivam Mathur PayPal"). This project is also available as part of the [Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-setup-php?utm_source=npm-setup-php&utm_medium=referral&utm_campaign=enterprise&utm_term=repo "Tidelift Subscription for setup-php") to support delivering enterprise-level maintenance.
|
||||||
- Please star the project and share it with the community.
|
- Please star the project and dependencies. If you blog, please share your experience of using this action with the community.
|
||||||
- If you blog, write about your experience of using this action.
|
|
||||||
- If you need any help using this, please contact me using [Codementor](https://www.codementor.io/shivammathur "Shivam Mathur Codementor")
|
|
||||||
|
|
||||||
## :bookmark: Dependencies
|
## :bookmark: Dependencies
|
||||||
|
|
||||||
@ -378,6 +378,7 @@ If this action helped you.
|
|||||||
- [mlocati/powershell-phpmanager](https://github.com/mlocati/powershell-phpmanager "Package to handle PHP on windows")
|
- [mlocati/powershell-phpmanager](https://github.com/mlocati/powershell-phpmanager "Package to handle PHP on windows")
|
||||||
- [ppa:ondrej/php](https://launchpad.net/~ondrej/+archive/ubuntu/php "Packaging active PHP packages")
|
- [ppa:ondrej/php](https://launchpad.net/~ondrej/+archive/ubuntu/php "Packaging active PHP packages")
|
||||||
- [shivammathur/homebrew-php](https://github.com/shivammathur/homebrew-php "Tap for PHP builds for MacOS")
|
- [shivammathur/homebrew-php](https://github.com/shivammathur/homebrew-php "Tap for PHP builds for MacOS")
|
||||||
|
- [shivammathur/homebrew-extensions](https://github.com/shivammathur/homebrew-extensions "Tap for PHP extensions for MacOS")
|
||||||
- [shivammathur/php-builder](https://github.com/shivammathur/php-builder "Nightly PHP package")
|
- [shivammathur/php-builder](https://github.com/shivammathur/php-builder "Nightly PHP package")
|
||||||
|
|
||||||
## :bookmark_tabs: Further Reading
|
## :bookmark_tabs: Further Reading
|
||||||
|
@ -5,7 +5,9 @@ describe('Extension tests', () => {
|
|||||||
expect(await extensions.getXdebugVersion('5.3')).toContain('2.2.7');
|
expect(await extensions.getXdebugVersion('5.3')).toContain('2.2.7');
|
||||||
expect(await extensions.getXdebugVersion('5.4')).toContain('2.4.1');
|
expect(await extensions.getXdebugVersion('5.4')).toContain('2.4.1');
|
||||||
expect(await extensions.getXdebugVersion('5.5')).toContain('2.5.5');
|
expect(await extensions.getXdebugVersion('5.5')).toContain('2.5.5');
|
||||||
expect(await extensions.getXdebugVersion('5.6')).toContain('2.9.6');
|
expect(await extensions.getXdebugVersion('5.6')).toContain('2.5.5');
|
||||||
|
expect(await extensions.getXdebugVersion('7.0')).toContain('2.7.2');
|
||||||
|
expect(await extensions.getXdebugVersion('7.2')).toContain('2.9.6');
|
||||||
});
|
});
|
||||||
it('checking addExtensionOnWindows', async () => {
|
it('checking addExtensionOnWindows', async () => {
|
||||||
let win32: string = await extensions.addExtension(
|
let win32: string = await extensions.addExtension(
|
||||||
@ -85,12 +87,15 @@ describe('Extension tests', () => {
|
|||||||
|
|
||||||
it('checking addExtensionOnDarwin', async () => {
|
it('checking addExtensionOnDarwin', async () => {
|
||||||
let darwin: string = await extensions.addExtension(
|
let darwin: string = await extensions.addExtension(
|
||||||
'Xdebug, pcov, sqlite, ast-beta',
|
'Xdebug, pcov, grpc, protobuf, swoole, sqlite, ast-beta',
|
||||||
'7.2',
|
'7.2',
|
||||||
'darwin'
|
'darwin'
|
||||||
);
|
);
|
||||||
expect(darwin).toContain('add_brew_extension xdebug');
|
expect(darwin).toContain('add_brew_extension xdebug');
|
||||||
expect(darwin).toContain('add_brew_extension pcov');
|
expect(darwin).toContain('add_brew_extension pcov');
|
||||||
|
expect(darwin).toContain('add_brew_extension grpc');
|
||||||
|
expect(darwin).toContain('add_brew_extension protobuf');
|
||||||
|
expect(darwin).toContain('add_brew_extension swoole');
|
||||||
expect(darwin).toContain('sudo pecl install -f sqlite3');
|
expect(darwin).toContain('sudo pecl install -f sqlite3');
|
||||||
expect(darwin).toContain('add_unstable_extension ast beta extension');
|
expect(darwin).toContain('add_unstable_extension ast beta extension');
|
||||||
|
|
||||||
|
@ -26,12 +26,12 @@ jest.mock('../src/install', () => ({
|
|||||||
if (extension_csv) {
|
if (extension_csv) {
|
||||||
script += 'install extensions';
|
script += 'install extensions';
|
||||||
}
|
}
|
||||||
if (ini_values_csv) {
|
|
||||||
script += 'edit php.ini';
|
|
||||||
}
|
|
||||||
if (coverage_driver) {
|
if (coverage_driver) {
|
||||||
script += 'set coverage driver';
|
script += 'set coverage driver';
|
||||||
}
|
}
|
||||||
|
if (ini_values_csv) {
|
||||||
|
script += 'edit php.ini';
|
||||||
|
}
|
||||||
|
|
||||||
return script;
|
return script;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,21 @@
|
|||||||
|
import * as httpm from '@actions/http-client';
|
||||||
import * as tools from '../src/tools';
|
import * as tools from '../src/tools';
|
||||||
|
|
||||||
|
httpm.HttpClient.prototype.get = jest.fn().mockImplementation(() => {
|
||||||
|
return {
|
||||||
|
message: null,
|
||||||
|
readBody: jest.fn().mockImplementation(() => {
|
||||||
|
return JSON.stringify({
|
||||||
|
stable: [{path: '/composer-stable.phar'}],
|
||||||
|
preview: [{path: '/composer-preview.phar'}],
|
||||||
|
snapshot: [{path: '/composer.phar'}],
|
||||||
|
'1': [{path: '/composer-1.phar'}],
|
||||||
|
'2': [{path: '/composer-2.phar'}]
|
||||||
|
});
|
||||||
|
})
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
describe('Tools tests', () => {
|
describe('Tools tests', () => {
|
||||||
it('checking getCommand', async () => {
|
it('checking getCommand', async () => {
|
||||||
expect(await tools.getCommand('linux', 'tool')).toBe('add_tool ');
|
expect(await tools.getCommand('linux', 'tool')).toBe('add_tool ');
|
||||||
@ -263,20 +279,24 @@ describe('Tools tests', () => {
|
|||||||
).toStrictEqual(['composer:2', 'a', 'b', 'c']);
|
).toStrictEqual(['composer:2', 'a', 'b', 'c']);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('checking updateComposer', async () => {
|
it('checking getComposerUrl', async () => {
|
||||||
expect(await tools.updateComposer('latest', 'linux')).toContain('');
|
expect(await tools.getComposerUrl('latest')).toContain(
|
||||||
expect(await tools.updateComposer('stable', 'win32')).toContain('');
|
'https://getcomposer.org/composer-stable.phar'
|
||||||
expect(await tools.updateComposer('snapshot', 'darwin')).toContain(
|
|
||||||
'\ncomposer self-update --snapshot'
|
|
||||||
);
|
);
|
||||||
expect(await tools.updateComposer('preview', 'linux')).toContain(
|
expect(await tools.getComposerUrl('stable')).toContain(
|
||||||
'\ncomposer self-update --preview'
|
'https://getcomposer.org/composer-stable.phar'
|
||||||
);
|
);
|
||||||
expect(await tools.updateComposer('1', 'win32')).toContain(
|
expect(await tools.getComposerUrl('snapshot')).toContain(
|
||||||
'\ncomposer self-update --1'
|
'https://getcomposer.org/composer.phar'
|
||||||
);
|
);
|
||||||
expect(await tools.updateComposer('2', 'darwin')).toContain(
|
expect(await tools.getComposerUrl('preview')).toContain(
|
||||||
'\ncomposer self-update --2'
|
'https://getcomposer.org/composer-preview.phar'
|
||||||
|
);
|
||||||
|
expect(await tools.getComposerUrl('1')).toContain(
|
||||||
|
'https://getcomposer.org/composer-1.phar'
|
||||||
|
);
|
||||||
|
expect(await tools.getComposerUrl('2')).toContain(
|
||||||
|
'https://getcomposer.org/composer-2.phar'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -476,7 +496,7 @@ describe('Tools tests', () => {
|
|||||||
});
|
});
|
||||||
it('checking addTools on windows', async () => {
|
it('checking addTools on windows', async () => {
|
||||||
const script: string = await tools.addTools(
|
const script: string = await tools.addTools(
|
||||||
'codeception, cs2pr, deployer, prestissimo, phpmd, phinx, phive:0.13.2, php-config, phpize, symfony, does_not_exit',
|
'codeception, cs2pr, deployer, prestissimo, phpmd, phinx, phive:0.13.2, php-config, phpize, symfony, does_not_exist',
|
||||||
'7.4',
|
'7.4',
|
||||||
'win32'
|
'win32'
|
||||||
);
|
);
|
||||||
@ -502,8 +522,7 @@ describe('Tools tests', () => {
|
|||||||
);
|
);
|
||||||
expect(script).toContain('phpize is not a windows tool');
|
expect(script).toContain('phpize is not a windows tool');
|
||||||
expect(script).toContain('php-config is not a windows tool');
|
expect(script).toContain('php-config is not a windows tool');
|
||||||
expect(script).toContain('Tool does_not_exit is not supported');
|
expect(script).toContain('Tool does_not_exist is not supported');
|
||||||
expect(script).toContain('Tool does_not_exit is not supported');
|
|
||||||
});
|
});
|
||||||
it('checking addTools with composer tool using user/tool as input', async () => {
|
it('checking addTools with composer tool using user/tool as input', async () => {
|
||||||
const script: string = await tools.addTools(
|
const script: string = await tools.addTools(
|
||||||
@ -527,17 +546,20 @@ describe('Tools tests', () => {
|
|||||||
'linux'
|
'linux'
|
||||||
);
|
);
|
||||||
expect(script).toContain(
|
expect(script).toContain(
|
||||||
'add_tool https://getcomposer.org/composer-stable.phar composer'
|
'add_tool https://getcomposer.org/composer-1.phar composer'
|
||||||
);
|
);
|
||||||
expect(script).toContain('composer self-update --1');
|
|
||||||
|
|
||||||
script = await tools.addTools('composer:preview', '7.4', 'linux');
|
script = await tools.addTools('composer:preview', '7.4', 'linux');
|
||||||
expect(script).toContain('composer self-update --preview');
|
expect(script).toContain(
|
||||||
|
'add_tool https://getcomposer.org/composer-preview.phar composer'
|
||||||
|
);
|
||||||
script = await tools.addTools(
|
script = await tools.addTools(
|
||||||
'composer:v1, composer:preview, composer:snapshot',
|
'composer:v1, composer:preview, composer:snapshot',
|
||||||
'7.4',
|
'7.4',
|
||||||
'linux'
|
'linux'
|
||||||
);
|
);
|
||||||
expect(script).toContain('composer self-update --snapshot');
|
expect(script).toContain(
|
||||||
|
'add_tool https://getcomposer.org/composer.phar composer'
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
970
dist/index.js
vendored
970
dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
1587
package-lock.json
generated
1587
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
25
package.json
25
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "setup-php",
|
"name": "setup-php",
|
||||||
"version": "1.9.1",
|
"version": "1.9.3",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "Setup PHP for use with GitHub Actions",
|
"description": "Setup PHP for use with GitHub Actions",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
@ -26,26 +26,27 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.2.4",
|
"@actions/core": "^1.2.4",
|
||||||
"@actions/exec": "^1.0.4",
|
"@actions/exec": "^1.0.4",
|
||||||
|
"@actions/http-client": "^1.0.8",
|
||||||
"@actions/io": "^1.0.2",
|
"@actions/io": "^1.0.2",
|
||||||
"fs": "0.0.1-security"
|
"fs": "0.0.1-security"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^26.0.0",
|
"@types/jest": "^26.0.5",
|
||||||
"@types/node": "^14.0.13",
|
"@types/node": "^14.0.23",
|
||||||
"@typescript-eslint/eslint-plugin": "^3.3.0",
|
"@typescript-eslint/eslint-plugin": "^3.6.1",
|
||||||
"@typescript-eslint/parser": "^3.3.0",
|
"@typescript-eslint/parser": "^3.6.1",
|
||||||
"@zeit/ncc": "^0.22.3",
|
"@zeit/ncc": "^0.22.3",
|
||||||
"eslint": "^7.2.0",
|
"eslint": "^7.5.0",
|
||||||
"eslint-config-prettier": "^6.11.0",
|
"eslint-config-prettier": "^6.11.0",
|
||||||
"eslint-plugin-import": "^2.21.2",
|
"eslint-plugin-import": "^2.22.0",
|
||||||
"eslint-plugin-jest": "^23.13.2",
|
"eslint-plugin-jest": "^23.18.0",
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^3.1.4",
|
||||||
"husky": "^4.2.5",
|
"husky": "^4.2.5",
|
||||||
"jest": "^26.0.1",
|
"jest": "^26.1.0",
|
||||||
"jest-circus": "^26.0.1",
|
"jest-circus": "^26.1.0",
|
||||||
"prettier": "^2.0.5",
|
"prettier": "^2.0.5",
|
||||||
"ts-jest": "^26.1.0",
|
"ts-jest": "^26.1.3",
|
||||||
"typescript": "^3.9.5"
|
"typescript": "^3.9.7"
|
||||||
},
|
},
|
||||||
"husky": {
|
"husky": {
|
||||||
"skipCI": true,
|
"skipCI": true,
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
variants:
|
|
||||||
dev:
|
|
||||||
bcmath:
|
|
||||||
calendar:
|
|
||||||
cli:
|
|
||||||
ctype:
|
|
||||||
dom:
|
|
||||||
fileinfo:
|
|
||||||
filter:
|
|
||||||
ipc:
|
|
||||||
iconv:
|
|
||||||
json:
|
|
||||||
mbregex:
|
|
||||||
mbstring:
|
|
||||||
mhash:
|
|
||||||
mcrypt:
|
|
||||||
pcntl:
|
|
||||||
pcre:
|
|
||||||
pdo:
|
|
||||||
phar:
|
|
||||||
posix:
|
|
||||||
sockets:
|
|
||||||
tokenizer:
|
|
||||||
xml:
|
|
||||||
curl:
|
|
||||||
openssl:
|
|
||||||
zip:
|
|
||||||
gd:
|
|
||||||
- --with-freetype
|
|
||||||
- --with-pdo-mysql=mysqlnd
|
|
||||||
- --with-mysqli=mysqlnd
|
|
||||||
- --with-pgsql
|
|
||||||
- --with-pdo-pgsql
|
|
||||||
- --with-gmp=/usr/local/opt/gmp
|
|
||||||
- --with-openssl
|
|
||||||
- --with-pear
|
|
||||||
- --with-zip
|
|
||||||
- --with-libxml
|
|
||||||
- --with-kerberos
|
|
||||||
- --with-gd
|
|
||||||
- --with-ffi
|
|
||||||
- --with-curl
|
|
||||||
- --with-mhash
|
|
||||||
- --with-readline=/usr/local/opt/readline
|
|
||||||
- --with-iconv=/usr/local/opt/libiconv
|
|
||||||
- --with-icu-dir=/usr/local/opt/icu4c
|
|
||||||
- --with-config-file-path=/etc
|
|
||||||
- --enable-intl
|
|
||||||
- --enable-xml
|
|
||||||
- --enable-sysvsem
|
|
||||||
- --enable-sysvshm
|
|
||||||
- --enable-sysvmsg
|
|
||||||
- --enable-phpdbg
|
|
||||||
- --enable-exif
|
|
||||||
- --enable-gd
|
|
||||||
- --enable-soap
|
|
||||||
- --enable-xmlreader
|
|
||||||
- --enable-zend-test=shared
|
|
@ -13,7 +13,10 @@ export async function getXdebugVersion(version: string): Promise<string> {
|
|||||||
case '5.4':
|
case '5.4':
|
||||||
return '2.4.1';
|
return '2.4.1';
|
||||||
case '5.5':
|
case '5.5':
|
||||||
|
case '5.6':
|
||||||
return '2.5.5';
|
return '2.5.5';
|
||||||
|
case '7.0':
|
||||||
|
return '2.7.2';
|
||||||
default:
|
default:
|
||||||
return '2.9.6';
|
return '2.9.6';
|
||||||
}
|
}
|
||||||
@ -50,13 +53,13 @@ export async function addExtensionDarwin(
|
|||||||
' ' +
|
' ' +
|
||||||
ext_prefix;
|
ext_prefix;
|
||||||
return;
|
return;
|
||||||
// match 5.6xdebug, 7.0xdebug...7.4xdebug, 8.0xdebug
|
// match 5.6xdebug to 8.0xdebug, 5.6swoole to 8.0swoole
|
||||||
case /(5\.6|7\.[0-4]|8\.[0-9])xdebug/.test(version_extension):
|
// match 5.6grpc to 7.4grpc, 5.6protobuf to 7.4protobuf
|
||||||
command = 'add_brew_extension xdebug';
|
// match 7.1pcov to 8.0pcov
|
||||||
break;
|
case /(5\.6|7\.[0-4]|8\.[0-9])(xdebug|swoole)/.test(version_extension):
|
||||||
// match 7.1pcov...7.4pcov, 8.0pcov
|
case /(5\.6|7\.[0-4])(grpc|protobuf)/.test(version_extension):
|
||||||
case /(7\.[1-4]|8\.[0-9])pcov/.test(version_extension):
|
case /(7\.[1-4]|8\.[0-9])pcov/.test(version_extension):
|
||||||
command = 'add_brew_extension pcov';
|
command = 'add_brew_extension ' + extension_name;
|
||||||
break;
|
break;
|
||||||
// match 5.6redis
|
// match 5.6redis
|
||||||
case /5\.6redis/.test(version_extension):
|
case /5\.6redis/.test(version_extension):
|
||||||
|
@ -43,12 +43,12 @@ export async function build(
|
|||||||
if (extension_csv) {
|
if (extension_csv) {
|
||||||
script += await extensions.addExtension(extension_csv, version, os_version);
|
script += await extensions.addExtension(extension_csv, version, os_version);
|
||||||
}
|
}
|
||||||
if (ini_values_csv) {
|
|
||||||
script += await config.addINIValues(ini_values_csv, os_version);
|
|
||||||
}
|
|
||||||
if (coverage_driver) {
|
if (coverage_driver) {
|
||||||
script += await coverage.addCoverage(coverage_driver, version, os_version);
|
script += await coverage.addCoverage(coverage_driver, version, os_version);
|
||||||
}
|
}
|
||||||
|
if (ini_values_csv) {
|
||||||
|
script += await config.addINIValues(ini_values_csv, os_version);
|
||||||
|
}
|
||||||
|
|
||||||
return await utils.writeScript(filename, script);
|
return await utils.writeScript(filename, script);
|
||||||
}
|
}
|
||||||
|
@ -37,10 +37,10 @@ check_extension() {
|
|||||||
# Fuction to get the PECL version
|
# Fuction to get the PECL version
|
||||||
get_pecl_version() {
|
get_pecl_version() {
|
||||||
extension=$1
|
extension=$1
|
||||||
stability=$2
|
stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot)")"
|
||||||
pecl_rest='https://pecl.php.net/rest/r/'
|
pecl_rest='https://pecl.php.net/rest/r/'
|
||||||
response=$(curl -q -sSL "$pecl_rest$extension"/allreleases.xml)
|
response=$(curl -q -sSL "$pecl_rest$extension"/allreleases.xml)
|
||||||
pecl_version=$(echo "$response" | grep -m 1 -Eo "(\d*\.\d*\.\d*$stability\d*)")
|
pecl_version=$(echo "$response" | grep -m 1 -Eio "(\d*\.\d*\.\d*$stability\d*)")
|
||||||
if [ ! "$pecl_version" ]; then
|
if [ ! "$pecl_version" ]; then
|
||||||
pecl_version=$(echo "$response" | grep -m 1 -Eo "(\d*\.\d*\.\d*)")
|
pecl_version=$(echo "$response" | grep -m 1 -Eo "(\d*\.\d*\.\d*)")
|
||||||
fi
|
fi
|
||||||
@ -52,6 +52,9 @@ add_pecl_extension() {
|
|||||||
extension=$1
|
extension=$1
|
||||||
pecl_version=$2
|
pecl_version=$2
|
||||||
prefix=$3
|
prefix=$3
|
||||||
|
if [[ $pecl_version =~ .*(alpha|beta|rc|snapshot).* ]]; then
|
||||||
|
pecl_version=$(get_pecl_version "$extension" "$pecl_version")
|
||||||
|
fi
|
||||||
if ! check_extension "$extension" && [ -e "$ext_dir/$extension.so" ]; then
|
if ! check_extension "$extension" && [ -e "$ext_dir/$extension.so" ]; then
|
||||||
echo "$prefix=$ext_dir/$extension.so" >>"$ini_file"
|
echo "$prefix=$ext_dir/$extension.so" >>"$ini_file"
|
||||||
fi
|
fi
|
||||||
@ -105,7 +108,23 @@ add_unstable_extension() {
|
|||||||
add_pecl_extension "$extension" "$pecl_version" "$prefix"
|
add_pecl_extension "$extension" "$pecl_version" "$prefix"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to setup a remote tool
|
# Function to configure composer
|
||||||
|
configure_composer() {
|
||||||
|
tool_path=$1
|
||||||
|
sudo ln -sf "$tool_path" "$tool_path.phar"
|
||||||
|
php -r "try {\$p=new Phar('$tool_path.phar', 0);exit(0);} catch(Exception \$e) {exit(1);}"
|
||||||
|
if [ $? -eq 1 ]; then
|
||||||
|
add_log "$cross" "composer" "Could not download composer"
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
composer -q global config process-timeout 0
|
||||||
|
echo "::add-path::/Users/$USER/.composer/vendor/bin"
|
||||||
|
if [ -n "$COMPOSER_TOKEN" ]; then
|
||||||
|
composer -q global config github-oauth.github.com "$COMPOSER_TOKEN"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to setup a remote tool.
|
||||||
add_tool() {
|
add_tool() {
|
||||||
url=$1
|
url=$1
|
||||||
tool=$2
|
tool=$2
|
||||||
@ -118,11 +137,10 @@ add_tool() {
|
|||||||
if [ "$status_code" = "200" ]; then
|
if [ "$status_code" = "200" ]; then
|
||||||
sudo chmod a+x "$tool_path"
|
sudo chmod a+x "$tool_path"
|
||||||
if [ "$tool" = "composer" ]; then
|
if [ "$tool" = "composer" ]; then
|
||||||
composer -q global config process-timeout 0
|
configure_composer "$tool_path"
|
||||||
echo "::add-path::/Users/$USER/.composer/vendor/bin"
|
elif [ "$tool" = "phan" ]; then
|
||||||
if [ -n "$COMPOSER_TOKEN" ]; then
|
add_extension fileinfo "sudo pecl install -f fileinfo" extension >/dev/null 2>&1
|
||||||
composer -q global config github-oauth.github.com "$COMPOSER_TOKEN"
|
add_extension ast "sudo pecl install -f ast" extension >/dev/null 2>&1
|
||||||
fi
|
|
||||||
elif [ "$tool" = "phive" ]; then
|
elif [ "$tool" = "phive" ]; then
|
||||||
add_extension curl "sudo pecl install -f curl" extension >/dev/null 2>&1
|
add_extension curl "sudo pecl install -f curl" extension >/dev/null 2>&1
|
||||||
add_extension mbstring "sudo pecl install -f mbstring" extension >/dev/null 2>&1
|
add_extension mbstring "sudo pecl install -f mbstring" extension >/dev/null 2>&1
|
||||||
@ -163,21 +181,8 @@ add_pecl() {
|
|||||||
add_log "$tick" "PECL" "Added"
|
add_log "$tick" "PECL" "Added"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to fetch updated formulas
|
|
||||||
update_formulae() {
|
|
||||||
brew_dir=$(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
|
|
||||||
for formula in httpd pkg-config apr apr-util argon2 aspell autoconf bison curl-openssl freetds freetype gettext glib gmp icu4c jpeg krb5 libffi libpng libpq libsodium libzip oniguruma openldap openssl@1.1 re2c sqlite tidyp unixodbc webp; do
|
|
||||||
sudo curl -o "$brew_dir"/"$formula".rb -sSL https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/"$formula".rb &
|
|
||||||
to_wait+=( $! )
|
|
||||||
done
|
|
||||||
wait "${to_wait[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to setup PHP and composer
|
# Function to setup PHP and composer
|
||||||
setup_php() {
|
setup_php() {
|
||||||
if [ "$version" = "8.0" ]; then
|
|
||||||
update_formulae
|
|
||||||
fi
|
|
||||||
export HOMEBREW_NO_INSTALL_CLEANUP=TRUE
|
export HOMEBREW_NO_INSTALL_CLEANUP=TRUE
|
||||||
brew tap --shallow shivammathur/homebrew-php
|
brew tap --shallow shivammathur/homebrew-php
|
||||||
brew install shivammathur/php/php@"$version"
|
brew install shivammathur/php/php@"$version"
|
||||||
@ -201,8 +206,8 @@ else
|
|||||||
fi
|
fi
|
||||||
ini_file=$(php -d "date.timezone=UTC" --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||" | sed "s/ //g")
|
ini_file=$(php -d "date.timezone=UTC" --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||" | sed "s/ //g")
|
||||||
sudo chmod 777 "$ini_file" "$tool_path_dir"
|
sudo chmod 777 "$ini_file" "$tool_path_dir"
|
||||||
echo "date.timezone=UTC" >>"$ini_file"
|
echo -e "date.timezone=UTC\nmemory_limit=-1" >>"$ini_file"
|
||||||
ext_dir=$(php -i | grep -Ei "extension_dir => /(usr|opt)" | sed -e "s|.*=> s*||")
|
ext_dir=$(php -i | grep -Ei "extension_dir => /" | sed -e "s|.*=> s*||")
|
||||||
scan_dir=$(php --ini | grep additional | sed -e "s|.*: s*||")
|
scan_dir=$(php --ini | grep additional | sed -e "s|.*: s*||")
|
||||||
sudo mkdir -p "$ext_dir"
|
sudo mkdir -p "$ext_dir"
|
||||||
semver=$(php -v | head -n 1 | cut -f 2 -d ' ')
|
semver=$(php -v | head -n 1 | cut -f 2 -d ' ')
|
||||||
|
@ -16,9 +16,20 @@ add_log() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 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
|
||||||
|
sudo mkdir /etc/apt/sources.list.d
|
||||||
|
sudo mv /etc/apt/sources.list.d.save/*ondrej*.list /etc/apt/sources.list.d/ || true
|
||||||
|
trap "sudo mv /etc/apt/sources.list.d.save/*.list /etc/apt/sources.list.d/" exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Function to update php ppa
|
# Function to update php ppa
|
||||||
update_lists() {
|
update_lists() {
|
||||||
if [ "$lists_updated" = "false" ]; then
|
if [ "$lists_updated" = "false" ]; then
|
||||||
|
cleanup_lists >/dev/null 2>&1
|
||||||
sudo "$debconf_fix" apt-get update >/dev/null 2>&1
|
sudo "$debconf_fix" apt-get update >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -38,10 +49,10 @@ configure_pecl() {
|
|||||||
# Fuction to get the PECL version
|
# Fuction to get the PECL version
|
||||||
get_pecl_version() {
|
get_pecl_version() {
|
||||||
extension=$1
|
extension=$1
|
||||||
stability=$2
|
stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot)")"
|
||||||
pecl_rest='https://pecl.php.net/rest/r/'
|
pecl_rest='https://pecl.php.net/rest/r/'
|
||||||
response=$(curl -q -sSL "$pecl_rest$extension"/allreleases.xml)
|
response=$(curl -q -sSL "$pecl_rest$extension"/allreleases.xml)
|
||||||
pecl_version=$(echo "$response" | grep -m 1 -Po "(\d*\.\d*\.\d*$stability\d*)")
|
pecl_version=$(echo "$response" | grep -m 1 -Pio "(\d*\.\d*\.\d*$stability\d*)")
|
||||||
if [ ! "$pecl_version" ]; then
|
if [ ! "$pecl_version" ]; then
|
||||||
pecl_version=$(echo "$response" | grep -m 1 -Po "(\d*\.\d*\.\d*)")
|
pecl_version=$(echo "$response" | grep -m 1 -Po "(\d*\.\d*\.\d*)")
|
||||||
fi
|
fi
|
||||||
@ -100,6 +111,9 @@ add_pecl_extension() {
|
|||||||
extension=$1
|
extension=$1
|
||||||
pecl_version=$2
|
pecl_version=$2
|
||||||
prefix=$3
|
prefix=$3
|
||||||
|
if [[ $pecl_version =~ .*(alpha|beta|rc|snapshot).* ]]; then
|
||||||
|
pecl_version=$(get_pecl_version "$extension" "$pecl_version")
|
||||||
|
fi
|
||||||
if ! check_extension "$extension" && [ -e "$ext_dir/$extension.so" ]; then
|
if ! check_extension "$extension" && [ -e "$ext_dir/$extension.so" ]; then
|
||||||
echo "$prefix=$ext_dir/$extension.so" >>"$pecl_file"
|
echo "$prefix=$ext_dir/$extension.so" >>"$pecl_file"
|
||||||
fi
|
fi
|
||||||
@ -140,7 +154,23 @@ update_extension() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to setup a remote tool
|
# Function to configure composer
|
||||||
|
configure_composer() {
|
||||||
|
tool_path=$1
|
||||||
|
sudo ln -sf "$tool_path" "$tool_path.phar"
|
||||||
|
php -r "try {\$p=new Phar('$tool_path.phar', 0);exit(0);} catch(Exception \$e) {exit(1);}"
|
||||||
|
if [ $? -eq 1 ]; then
|
||||||
|
add_log "$cross" "composer" "Could not download composer"
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
composer -q global config process-timeout 0
|
||||||
|
echo "::add-path::/home/$USER/.composer/vendor/bin"
|
||||||
|
if [ -n "$COMPOSER_TOKEN" ]; then
|
||||||
|
composer -q global config github-oauth.github.com "$COMPOSER_TOKEN"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to setup a remote tool.
|
||||||
add_tool() {
|
add_tool() {
|
||||||
url=$1
|
url=$1
|
||||||
tool=$2
|
tool=$2
|
||||||
@ -152,11 +182,7 @@ add_tool() {
|
|||||||
if [ "$status_code" = "200" ]; then
|
if [ "$status_code" = "200" ]; then
|
||||||
sudo chmod a+x "$tool_path"
|
sudo chmod a+x "$tool_path"
|
||||||
if [ "$tool" = "composer" ]; then
|
if [ "$tool" = "composer" ]; then
|
||||||
composer -q global config process-timeout 0
|
configure_composer "$tool_path"
|
||||||
echo "::add-path::/home/$USER/.composer/vendor/bin"
|
|
||||||
if [ -n "$COMPOSER_TOKEN" ]; then
|
|
||||||
composer -q global config github-oauth.github.com "$COMPOSER_TOKEN"
|
|
||||||
fi
|
|
||||||
elif [ "$tool" = "cs2pr" ]; then
|
elif [ "$tool" = "cs2pr" ]; then
|
||||||
sudo sed -i 's/\r$//; s/exit(9)/exit(0)/' "$tool_path"
|
sudo sed -i 's/\r$//; s/exit(9)/exit(0)/' "$tool_path"
|
||||||
elif [ "$tool" = "phive" ]; then
|
elif [ "$tool" = "phive" ]; then
|
||||||
@ -238,6 +264,13 @@ existing_version=$(php-config --version 2>/dev/null | cut -c 1-3)
|
|||||||
# Setup PHP
|
# Setup PHP
|
||||||
step_log "Setup PHP"
|
step_log "Setup PHP"
|
||||||
sudo mkdir -p /var/run /run/php
|
sudo mkdir -p /var/run /run/php
|
||||||
|
. /etc/lsb-release
|
||||||
|
if [ "$DISTRIB_RELEASE" = "20.04" ]; then
|
||||||
|
if ! apt-cache policy | grep -q ondrej/php; then
|
||||||
|
cleanup_lists >/dev/null 2>&1
|
||||||
|
LC_ALL=C.UTF-8 sudo apt-add-repository ppa:ondrej/php -y >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$existing_version" != "$version" ]; then
|
if [ "$existing_version" != "$version" ]; then
|
||||||
if [ ! -e "/usr/bin/php$version" ]; then
|
if [ ! -e "/usr/bin/php$version" ]; then
|
||||||
@ -245,8 +278,8 @@ if [ "$existing_version" != "$version" ]; then
|
|||||||
setup_master >/dev/null 2>&1
|
setup_master >/dev/null 2>&1
|
||||||
else
|
else
|
||||||
update_lists
|
update_lists
|
||||||
IFS=' ' read -r -a packages <<< "$(echo "curl mbstring xml intl" | sed "s/[^ ]*/php$version-&/g")"
|
IFS=' ' read -r -a packages <<< "$(echo "cli curl mbstring xml intl" | sed "s/[^ ]*/php$version-&/g")"
|
||||||
$apt_install php"$version" "${packages[@]}" >/dev/null 2>&1
|
$apt_install "${packages[@]}" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
status="Installed"
|
status="Installed"
|
||||||
else
|
else
|
||||||
|
@ -65,7 +65,12 @@ Function Add-Extension {
|
|||||||
[ValidateNotNull()]
|
[ValidateNotNull()]
|
||||||
[ValidateSet('stable', 'beta', 'alpha', 'devel', 'snapshot')]
|
[ValidateSet('stable', 'beta', 'alpha', 'devel', 'snapshot')]
|
||||||
[string]
|
[string]
|
||||||
$mininum_stability = 'stable'
|
$stability = 'stable',
|
||||||
|
[Parameter(Position = 2, Mandatory = $false)]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
[ValidatePattern('^\d+(\.\d+){0,2}$')]
|
||||||
|
[string]
|
||||||
|
$extension_version = ''
|
||||||
)
|
)
|
||||||
try {
|
try {
|
||||||
$extension_info = Get-PhpExtension -Path $php_dir | Where-Object { $_.Name -eq $extension -or $_.Handle -eq $extension }
|
$extension_info = Get-PhpExtension -Path $php_dir | Where-Object { $_.Name -eq $extension -or $_.Handle -eq $extension }
|
||||||
@ -84,7 +89,12 @@ Function Add-Extension {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Install-PhpExtension -Extension $extension -MinimumStability $mininum_stability -Path $php_dir
|
if($extension_version -ne '') {
|
||||||
|
Install-PhpExtension -Extension $extension -Version $extension_version -MinimumStability $stability -MaximumStability $stability -Path $php_dir
|
||||||
|
} else {
|
||||||
|
Install-PhpExtension -Extension $extension -MinimumStability $stability -MaximumStability $stability -Path $php_dir
|
||||||
|
}
|
||||||
|
|
||||||
Add-Log $tick $extension "Installed and enabled"
|
Add-Log $tick $extension "Installed and enabled"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -109,6 +119,32 @@ Function Remove-Extension() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Function Edit-ComposerConfig() {
|
||||||
|
Param(
|
||||||
|
[Parameter(Position = 0, Mandatory = $true)]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
[ValidateLength(1, [int]::MaxValue)]
|
||||||
|
[string]
|
||||||
|
$tool_path
|
||||||
|
)
|
||||||
|
Copy-Item $tool_path -Destination "$tool_path.phar"
|
||||||
|
php -r "try {`$p=new Phar('$tool_path.phar', 0);exit(0);} catch(Exception `$e) {exit(1);}"
|
||||||
|
if ($? -eq $False) {
|
||||||
|
Add-Log "$cross" "composer" "Could not download composer"
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
composer -q global config process-timeout 0
|
||||||
|
Write-Output "::add-path::$env:APPDATA\Composer\vendor\bin"
|
||||||
|
if (Test-Path env:COMPOSER_TOKEN) {
|
||||||
|
composer -q global config github-oauth.github.com $env:COMPOSER_TOKEN
|
||||||
|
}
|
||||||
|
# TODO: Remove after composer 2.0 update, fixes peer fingerprint error
|
||||||
|
if ($version -lt 5.6) {
|
||||||
|
composer -q global config repos.packagist composer https://repo-ca-bhs-1.packagist.org
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Function Add-Tool() {
|
Function Add-Tool() {
|
||||||
Param (
|
Param (
|
||||||
[Parameter(Position = 0, Mandatory = $true)]
|
[Parameter(Position = 0, Mandatory = $true)]
|
||||||
@ -147,11 +183,9 @@ Function Add-Tool() {
|
|||||||
} elseif($tool -eq "cs2pr") {
|
} elseif($tool -eq "cs2pr") {
|
||||||
(Get-Content $php_dir/cs2pr).replace('exit(9)', 'exit(0)') | Set-Content $php_dir/cs2pr
|
(Get-Content $php_dir/cs2pr).replace('exit(9)', 'exit(0)') | Set-Content $php_dir/cs2pr
|
||||||
} elseif($tool -eq "composer") {
|
} elseif($tool -eq "composer") {
|
||||||
composer -q global config process-timeout 0
|
Edit-ComposerConfig $php_dir\$tool
|
||||||
Write-Output "::add-path::$env:APPDATA\Composer\vendor\bin"
|
} elseif($tool -eq "wp-cli") {
|
||||||
if (Test-Path env:COMPOSER_TOKEN) {
|
Copy-Item $php_dir\wp-cli.bat -Destination $php_dir\wp.bat
|
||||||
composer -q global config github-oauth.github.com $env:COMPOSER_TOKEN
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((Get-ChildItem -Path $php_dir/* | Where-Object Name -Match "^$tool(.exe|.phar)*$").Count -gt 0)) {
|
if (((Get-ChildItem -Path $php_dir/* | Where-Object Name -Match "^$tool(.exe|.phar)*$").Count -gt 0)) {
|
||||||
@ -236,6 +270,7 @@ if ($null -eq $installed -or -not("$($installed.Version).".StartsWith(($version
|
|||||||
|
|
||||||
$installed = Get-Php -Path $php_dir
|
$installed = Get-Php -Path $php_dir
|
||||||
Set-PhpIniKey -Key 'date.timezone' -Value 'UTC' -Path $php_dir
|
Set-PhpIniKey -Key 'date.timezone' -Value 'UTC' -Path $php_dir
|
||||||
|
Set-PhpIniKey -Key 'memory_limit' -Value '-1' -Path $php_dir
|
||||||
Enable-PhpExtension -Extension openssl, curl, opcache, mbstring -Path $php_dir
|
Enable-PhpExtension -Extension openssl, curl, opcache, mbstring -Path $php_dir
|
||||||
Update-PhpCAInfo -Path $php_dir -Source CurrentUser
|
Update-PhpCAInfo -Path $php_dir -Source CurrentUser
|
||||||
if ($version -eq 'master') {
|
if ($version -eq 'master') {
|
||||||
|
33
src/tools.ts
33
src/tools.ts
@ -1,4 +1,6 @@
|
|||||||
import * as utils from './utils';
|
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
|
* Function to get command to setup tools
|
||||||
@ -298,27 +300,28 @@ export async function addComposer(tools_list: string[]): Promise<string[]> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function to get script to update composer
|
* Function to get composer URL for a given version
|
||||||
*
|
*
|
||||||
* @param version
|
* @param version
|
||||||
* @param os_version
|
|
||||||
*/
|
*/
|
||||||
export async function updateComposer(
|
export async function getComposerUrl(version: string): Promise<string> {
|
||||||
version: string,
|
const getComposerUrlHelper = async function (
|
||||||
os_version: string
|
version: string
|
||||||
): Promise<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'];
|
||||||
|
};
|
||||||
switch (version) {
|
switch (version) {
|
||||||
case 'snapshot':
|
case 'snapshot':
|
||||||
|
return 'https://getcomposer.org/composer.phar';
|
||||||
case 'preview':
|
case 'preview':
|
||||||
case '1':
|
case '1':
|
||||||
case '2':
|
case '2':
|
||||||
return (
|
return await getComposerUrlHelper(version);
|
||||||
'\ncomposer self-update --' +
|
|
||||||
version +
|
|
||||||
(await utils.suppressOutput(os_version))
|
|
||||||
);
|
|
||||||
default:
|
default:
|
||||||
return '';
|
return 'https://getcomposer.org/composer-stable.phar';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -473,10 +476,8 @@ export async function addTools(
|
|||||||
script += await addArchive(tool, version, url, os_version);
|
script += await addArchive(tool, version, url, os_version);
|
||||||
break;
|
break;
|
||||||
case 'composer':
|
case 'composer':
|
||||||
url = 'https://getcomposer.org/composer-stable.phar';
|
url = await getComposerUrl(version);
|
||||||
script +=
|
script += await addArchive('composer', version, url, os_version);
|
||||||
(await addArchive('composer', version, url, os_version)) +
|
|
||||||
(await updateComposer(version, os_version));
|
|
||||||
break;
|
break;
|
||||||
case 'codeception':
|
case 'codeception':
|
||||||
url =
|
url =
|
||||||
|
Reference in New Issue
Block a user