setup-php 1.11.2 → 1.11.6

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.
Files changed (80) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +433 -458
  3. package/lib/config.d.ts +3 -0
  4. package/lib/config.js +71 -71
  5. package/lib/config.js.map +1 -1
  6. package/lib/coverage.d.ts +4 -0
  7. package/lib/coverage.js +97 -87
  8. package/lib/coverage.js.map +1 -1
  9. package/lib/extensions.d.ts +4 -0
  10. package/lib/extensions.js +188 -200
  11. package/lib/extensions.js.map +1 -1
  12. package/lib/install.d.ts +2 -0
  13. package/lib/install.js +96 -81
  14. package/lib/install.js.map +1 -1
  15. package/lib/tools.d.ts +18 -0
  16. package/lib/tools.js +306 -386
  17. package/lib/tools.js.map +1 -1
  18. package/lib/utils.d.ts +15 -0
  19. package/lib/utils.js +205 -291
  20. package/lib/utils.js.map +1 -1
  21. package/package.json +66 -56
  22. package/src/config.ts +82 -82
  23. package/src/configs/brew_extensions +28 -0
  24. package/src/configs/php-versions.json +5 -5
  25. package/src/configs/phpunit.json +24 -24
  26. package/src/coverage.ts +146 -146
  27. package/src/extensions.ts +235 -233
  28. package/src/install.ts +104 -104
  29. package/src/scripts/darwin.sh +341 -339
  30. package/src/scripts/ext/gearman.sh +22 -22
  31. package/src/scripts/ext/phalcon.ps1 +55 -55
  32. package/src/scripts/ext/phalcon.sh +70 -70
  33. package/src/scripts/linux.sh +361 -361
  34. package/src/scripts/win32.ps1 +326 -333
  35. package/src/tools.ts +472 -469
  36. package/src/utils.ts +319 -316
  37. package/.eslintrc.json +0 -16
  38. package/.github/CODE_OF_CONDUCT.md +0 -76
  39. package/.github/CONTRIBUTING.md +0 -69
  40. package/.github/FUNDING.yml +0 -7
  41. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -23
  42. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  43. package/.github/PULL_REQUEST_TEMPLATE.md +0 -38
  44. package/.github/SECURITY.md +0 -29
  45. package/.github/workflows/main-workflow.yml +0 -56
  46. package/.github/workflows/node-workflow.yml +0 -47
  47. package/.idea/workspace.xml +0 -113
  48. package/.prettierrc.json +0 -12
  49. package/__tests__/config.test.ts +0 -52
  50. package/__tests__/coverage.test.ts +0 -110
  51. package/__tests__/extensions.test.ts +0 -120
  52. package/__tests__/install.test.ts +0 -181
  53. package/__tests__/tools.test.ts +0 -476
  54. package/__tests__/utils.test.ts +0 -213
  55. package/action.yml +0 -38
  56. package/dist/index.js +0 -2854
  57. package/examples/bedrock.yml +0 -32
  58. package/examples/cakephp-mysql.yml +0 -114
  59. package/examples/cakephp-postgres.yml +0 -112
  60. package/examples/cakephp.yml +0 -92
  61. package/examples/codeigniter.yml +0 -34
  62. package/examples/laravel-mysql.yml +0 -74
  63. package/examples/laravel-postgres.yml +0 -74
  64. package/examples/laravel.yml +0 -42
  65. package/examples/lumen-mysql.yml +0 -74
  66. package/examples/lumen-postgres.yml +0 -74
  67. package/examples/lumen.yml +0 -38
  68. package/examples/phalcon-mysql.yml +0 -74
  69. package/examples/phalcon-postgres.yml +0 -73
  70. package/examples/sage.yml +0 -57
  71. package/examples/slim-framework.yml +0 -34
  72. package/examples/symfony-mysql.yml +0 -56
  73. package/examples/symfony-postgres.yml +0 -54
  74. package/examples/symfony.yml +0 -39
  75. package/examples/yii2-mysql.yml +0 -73
  76. package/examples/yii2-postgres.yml +0 -71
  77. package/examples/zend-framework.yml +0 -36
  78. package/jest.config.js +0 -12
  79. package/lib/sapi.js +0 -64
  80. package/tsconfig.json +0 -18
@@ -1,120 +0,0 @@
1
- import * as extensions from '../src/extensions';
2
-
3
- describe('Extension tests', () => {
4
- it('checking addExtensionOnWindows', async () => {
5
- let win32: string = await extensions.addExtension(
6
- 'Xdebug, pcov, sqlite, phalcon4, ast-beta',
7
- '7.4',
8
- 'win32'
9
- );
10
- expect(win32).toContain('Add-Extension xdebug');
11
- expect(win32).toContain('Add-Extension pcov');
12
- expect(win32).toContain('Add-Extension sqlite3');
13
- expect(win32).toContain('phalcon.ps1 phalcon4');
14
- expect(win32).toContain('Add-Extension ast beta');
15
-
16
- win32 = await extensions.addExtension('xdebug2', '7.2', 'win32');
17
- expect(win32).toContain('Add-Extension xdebug stable 2.9.8');
18
-
19
- win32 = await extensions.addExtension('mysql', '7.4', 'win32');
20
- expect(win32).toContain('Add-Extension mysqli');
21
- expect(win32).toContain('Add-Extension mysqlnd');
22
-
23
- win32 = await extensions.addExtension('mysql', '8.0', 'win32');
24
- expect(win32).toContain('Add-Extension mysqli');
25
- expect(win32).toContain('Add-Extension mysqlnd');
26
-
27
- win32 = await extensions.addExtension('mysql', '5.6', 'win32');
28
- expect(win32).toContain('Add-Extension mysql');
29
- expect(win32).toContain('Add-Extension mysqli');
30
- expect(win32).toContain('Add-Extension mysqlnd');
31
-
32
- win32 = await extensions.addExtension(
33
- 'phalcon3, does_not_exist',
34
- '7.2',
35
- 'win32',
36
- true
37
- );
38
- expect(win32).toContain('phalcon.ps1 phalcon3');
39
- expect(win32).toContain('Add-Extension does_not_exist');
40
-
41
- win32 = await extensions.addExtension('xdebug', '7.2', 'openbsd');
42
- expect(win32).toContain('Platform openbsd is not supported');
43
- });
44
-
45
- it('checking addExtensionOnLinux', async () => {
46
- let linux: string = await extensions.addExtension(
47
- 'Xdebug, pcov, sqlite, ast-beta, xdebug-alpha',
48
- '7.4',
49
- 'linux'
50
- );
51
- expect(linux).toContain('sudo $debconf_fix apt-get install -y php7.4-pcov');
52
- expect(linux).toContain(
53
- 'sudo $debconf_fix apt-get install -y php7.4-sqlite3'
54
- );
55
- expect(linux).toContain('add_unstable_extension ast beta extension');
56
- expect(linux).toContain(
57
- 'add_unstable_extension xdebug alpha zend_extension'
58
- );
59
-
60
- linux = await extensions.addExtension('gearman', '7.0', 'linux');
61
- expect(linux).toContain('gearman.sh');
62
-
63
- linux = await extensions.addExtension('xdebug2', '7.2', 'linux');
64
- expect(linux).toContain('add_pecl_extension xdebug 2.9.8 zend_extension');
65
-
66
- linux = await extensions.addExtension('xdebug', '7.2', 'openbsd');
67
- expect(linux).toContain('Platform openbsd is not supported');
68
-
69
- linux = await extensions.addExtension('phalcon3, phalcon4', '7.3', 'linux');
70
- expect(linux).toContain('phalcon.sh phalcon3 7.3');
71
- expect(linux).toContain('phalcon.sh phalcon4 7.3');
72
- });
73
-
74
- it('checking addExtensionOnDarwin', async () => {
75
- let darwin: string = await extensions.addExtension(
76
- 'Xdebug, pcov, grpc, igbinary, imagick, phalcon3, phalcon4, protobuf, psr, rdkafka, swoole, sqlite, ast-beta',
77
- '7.2',
78
- 'darwin'
79
- );
80
- expect(darwin).toContain('add_brew_extension xdebug');
81
- expect(darwin).toContain('add_brew_extension pcov');
82
- expect(darwin).toContain('add_brew_extension grpc');
83
- expect(darwin).toContain('add_brew_extension igbinary');
84
- expect(darwin).toContain('add_brew_extension imagick');
85
- expect(darwin).toContain('add_brew_extension phalcon3');
86
- expect(darwin).toContain('add_brew_extension phalcon4');
87
- expect(darwin).toContain('add_brew_extension protobuf');
88
- expect(darwin).toContain('add_brew_extension psr');
89
- expect(darwin).toContain('add_brew_extension rdkafka');
90
- expect(darwin).toContain('add_brew_extension swoole');
91
- expect(darwin).toContain('pecl_install sqlite3');
92
- expect(darwin).toContain('add_unstable_extension ast beta extension');
93
-
94
- darwin = await extensions.addExtension('pcov', '5.6', 'darwin');
95
- expect(darwin).toContain('pecl_install pcov');
96
-
97
- darwin = await extensions.addExtension('pcov', '7.2', 'darwin');
98
- expect(darwin).toContain('add_brew_extension pcov');
99
-
100
- darwin = await extensions.addExtension('xdebug', '5.6', 'darwin');
101
- expect(darwin).toContain('add_brew_extension xdebug');
102
-
103
- darwin = await extensions.addExtension('xdebug', '7.0', 'darwin');
104
- expect(darwin).toContain('add_brew_extension xdebug');
105
-
106
- darwin = await extensions.addExtension('xdebug2', '7.2', 'darwin');
107
- expect(darwin).toContain('add_brew_extension xdebug2');
108
-
109
- darwin = await extensions.addExtension(
110
- 'does_not_exist',
111
- '7.2',
112
- 'darwin',
113
- false
114
- );
115
- expect(darwin).toContain('add_extension does_not_exist');
116
-
117
- darwin = await extensions.addExtension('xdebug', '7.2', 'openbsd');
118
- expect(darwin).toContain('Platform openbsd is not supported');
119
- });
120
- });
@@ -1,181 +0,0 @@
1
- import * as install from '../src/install';
2
-
3
- /**
4
- * Mock install.ts
5
- */
6
- jest.mock('../src/install', () => ({
7
- build: jest
8
- .fn()
9
- .mockImplementation(
10
- async (
11
- filename: string,
12
- version: string,
13
- os_version: string
14
- ): Promise<string> => {
15
- const extension_csv: string = process.env['extensions'] || '';
16
- const ini_values_csv: string = process.env['ini-values'] || '';
17
- const coverage_driver: string = process.env['coverage'] || '';
18
- let tools_csv: string = process.env['tools'] || '';
19
- const pecl: string = process.env['pecl'] || '';
20
- if (pecl == 'true') {
21
- tools_csv = 'pecl, ' + tools_csv;
22
- }
23
-
24
- let script = 'initial script ' + filename + version + os_version;
25
- if (tools_csv) {
26
- script += 'add_tool';
27
- }
28
- if (extension_csv) {
29
- script += 'install extensions';
30
- }
31
- if (coverage_driver) {
32
- script += 'set coverage driver';
33
- }
34
- if (ini_values_csv) {
35
- script += 'edit php.ini';
36
- }
37
-
38
- return script;
39
- }
40
- ),
41
- run: jest.fn().mockImplementation(async (): Promise<string> => {
42
- const os_version: string = process.env['RUNNER_OS'] || '';
43
- let version: string = process.env['php-version'] || '';
44
- version = version.length > 1 ? version.slice(0, 3) : version + '.0';
45
- let script = '';
46
- switch (os_version) {
47
- case 'darwin':
48
- case 'linux':
49
- script = await install.build(os_version + '.sh', version, os_version);
50
- script += 'bash script.sh ' + version + ' ' + __dirname;
51
- break;
52
- case 'win32':
53
- script = await install.build(os_version + '.sh', version, os_version);
54
- script += 'pwsh script.ps1 ' + version + ' ' + __dirname;
55
- break;
56
- default:
57
- script += os_version + ' is not supported';
58
- }
59
-
60
- return script;
61
- })
62
- }));
63
-
64
- /**
65
- * Function to set the process.env
66
- *
67
- * @param version
68
- * @param os
69
- * @param extension_csv
70
- * @param ini_values_csv
71
- * @param coverage_driver
72
- * @param tools
73
- * @param pecl
74
- */
75
- function setEnv(
76
- version: string | number,
77
- os: string,
78
- extension_csv: string,
79
- ini_values_csv: string,
80
- coverage_driver: string,
81
- tools: string,
82
- pecl: string
83
- ): void {
84
- process.env['php-version'] = version.toString();
85
- process.env['RUNNER_OS'] = os;
86
- process.env['extensions'] = extension_csv;
87
- process.env['ini-values'] = ini_values_csv;
88
- process.env['coverage'] = coverage_driver;
89
- process.env['tools'] = tools;
90
- process.env['pecl'] = pecl;
91
- }
92
-
93
- describe('Install', () => {
94
- it('Test install on windows', async () => {
95
- setEnv('7.0', 'win32', '', '', '', '', '');
96
-
97
- let script: string = '' + (await install.run());
98
- expect(script).toContain('initial script');
99
- expect(script).toContain('pwsh script.ps1 7.0 ' + __dirname);
100
-
101
- setEnv('7.3', 'win32', '', '', '', '', '');
102
-
103
- script = '' + (await install.run());
104
- expect(script).toContain('initial script');
105
- expect(script).toContain('pwsh script.ps1 7.3 ' + __dirname);
106
-
107
- setEnv('7.3', 'win32', 'a, b', 'a=b', 'x', '', '');
108
-
109
- script = '' + (await install.run());
110
- expect(script).toContain('initial script');
111
- expect(script).toContain('install extensions');
112
- expect(script).toContain('edit php.ini');
113
- expect(script).toContain('set coverage driver');
114
- expect(script).toContain('pwsh script.ps1 7.3 ' + __dirname);
115
- });
116
-
117
- it('Test install on linux', async () => {
118
- setEnv('7.3', 'linux', '', '', '', '', '');
119
-
120
- let script: string = '' + (await install.run());
121
- expect(script).toContain('initial script');
122
- expect(script).toContain('bash script.sh 7.3 ');
123
-
124
- setEnv('7.4', 'linux', 'a, b', 'a=b', 'x', 'phpunit', 'true');
125
-
126
- script = '' + (await install.run());
127
- expect(script).toContain('initial script');
128
- expect(script).toContain('install extensions');
129
- expect(script).toContain('edit php.ini');
130
- expect(script).toContain('set coverage driver');
131
- expect(script).toContain('bash script.sh 7.4');
132
- expect(script).toContain('add_tool');
133
-
134
- setEnv('7.3', 'linux', 'a, b', 'a=b', 'x', 'phpunit', '');
135
-
136
- script = '' + (await install.run());
137
- expect(script).toContain('initial script');
138
- expect(script).toContain('install extensions');
139
- expect(script).toContain('edit php.ini');
140
- expect(script).toContain('set coverage driver');
141
- expect(script).toContain('bash script.sh 7.3');
142
- expect(script).toContain('add_tool');
143
- });
144
-
145
- it('Test install on darwin', async () => {
146
- setEnv('7.3', 'darwin', '', '', '', '', '');
147
-
148
- let script: string = '' + (await install.run());
149
- expect(script).toContain('initial script');
150
- expect(script).toContain('bash script.sh 7.3 ' + __dirname);
151
-
152
- setEnv('7.3', 'darwin', 'a, b', 'a=b', 'x', '', '');
153
-
154
- script = '' + (await install.run());
155
- expect(script).toContain('initial script');
156
- expect(script).toContain('install extensions');
157
- expect(script).toContain('edit php.ini');
158
- expect(script).toContain('set coverage driver');
159
- expect(script).toContain('bash script.sh 7.3 ' + __dirname);
160
- });
161
-
162
- it('Test malformed version inputs', async () => {
163
- setEnv('7.4.1', 'darwin', '', '', '', '', '');
164
-
165
- let script: string = '' + (await install.run());
166
- expect(script).toContain('initial script');
167
- expect(script).toContain('bash script.sh 7.4 ' + __dirname);
168
-
169
- setEnv(8.0, 'darwin', '', '', '', '', '');
170
-
171
- script = '' + (await install.run());
172
- expect(script).toContain('initial script');
173
- expect(script).toContain('bash script.sh 8.0 ' + __dirname);
174
-
175
- setEnv(8, 'darwin', '', '', '', '', '');
176
-
177
- script = '' + (await install.run());
178
- expect(script).toContain('initial script');
179
- expect(script).toContain('bash script.sh 8.0 ' + __dirname);
180
- });
181
- });