setup-php 2.32.0 → 2.33.0

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.
package/README.md CHANGED
@@ -68,17 +68,18 @@ Both `GitHub-hosted` and `self-hosted` runners are supported by `setup-php` on t
68
68
 
69
69
  ### GitHub-Hosted Runners
70
70
 
71
- | Virtual environment | YAML workflow label | Pre-installed PHP |
72
- |---------------------|------------------------------------|------------------------|
73
- | Ubuntu 24.04 | `ubuntu-24.04` | `PHP 8.3` |
74
- | Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | `PHP 8.1` |
75
- | Ubuntu 20.04 | `ubuntu-20.04` | `PHP 7.4` to `PHP 8.3` |
76
- | Windows Server 2025 | `windows-2025` | `PHP 8.3` |
77
- | Windows Server 2022 | `windows-latest` or `windows-2022` | `PHP 8.3` |
78
- | Windows Server 2019 | `windows-2019` | `PHP 8.3` |
79
- | macOS Sequoia 15.x | `macos-15` | - |
80
- | macOS Sonoma 14.x | `macos-latest` or `macos-14` | - |
81
- | macOS Ventura 13.x | `macos-13` | `PHP 8.3` |
71
+ | Virtual environment | Arch | YAML workflow label | Pre-installed PHP |
72
+ |---------------------|---------|------------------------------------|------------------------|
73
+ | Ubuntu 24.04 | x86_64 | `ubuntu-latest` or `ubuntu-24.04` | `PHP 8.3` |
74
+ | Ubuntu 22.04 | x86_64 | `ubuntu-22.04` | `PHP 8.1` |
75
+ | Ubuntu 24.04 | aarch64 | `ubuntu-24.04-arm` | `PHP 8.3` |
76
+ | Ubuntu 22.04 | aarch64 | `ubuntu-22.04-arm` | `PHP 8.1` |
77
+ | Windows Server 2025 | x64 | `windows-2025` | `PHP 8.3` |
78
+ | Windows Server 2022 | x64 | `windows-latest` or `windows-2022` | `PHP 8.3` |
79
+ | Windows Server 2019 | x64 | `windows-2019` | `PHP 8.3` |
80
+ | macOS Sequoia 15.x | arm64 | `macos-15` | - |
81
+ | macOS Sonoma 14.x | arm64 | `macos-latest` or `macos-14` | - |
82
+ | macOS Ventura 13.x | x86_64 | `macos-13` | `PHP 8.3` |
82
83
 
83
84
  ### Self-Hosted Runners
84
85
 
@@ -86,7 +87,6 @@ Both `GitHub-hosted` and `self-hosted` runners are supported by `setup-php` on t
86
87
  |----------------------------------|----------------------------|
87
88
  | Ubuntu 24.04 | `self-hosted` or `Linux` |
88
89
  | Ubuntu 22.04 | `self-hosted` or `Linux` |
89
- | Ubuntu 20.04 | `self-hosted` or `Linux` |
90
90
  | Debian 12 | `self-hosted` or `Linux` |
91
91
  | Debian 11 | `self-hosted` or `Linux` |
92
92
  | Windows 7 and newer | `self-hosted` or `Windows` |
@@ -120,14 +120,15 @@ On all supported OS/Platforms the following PHP versions can be set up as per th
120
120
  | `7.4` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
121
121
  | `8.0` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
122
122
  | `8.1` | `Stable` | `Security fixes only` | `GitHub-hosted`, `self-hosted` |
123
- | `8.2` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
123
+ | `8.2` | `Stable` | `Security fixes only` | `GitHub-hosted`, `self-hosted` |
124
124
  | `8.3` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
125
125
  | `8.4` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
126
126
  | `8.5` | `Nightly` | `In development` | `GitHub-hosted`, `self-hosted` |
127
127
 
128
- **Notes:**
129
- - Specifying `8.5` in `php-version` input installs a nightly build of `PHP 8.5.0-dev`. See [nightly build setup](#nightly-build-setup) for more information.
130
- - To use JIT on `PHP 8.0` and above, refer to the [JIT configuration](#jit-configuration) section.
128
+
129
+ > [!Note]
130
+ > - Specifying `8.5` in `php-version` input installs a nightly build of `PHP 8.5.0-dev`. See [nightly build setup](#nightly-build-setup) for more information.
131
+ > - To use JIT on `PHP 8.0` and above, refer to the [JIT configuration](#jit-configuration) section.
131
132
 
132
133
  ## :heavy_plus_sign: PHP Extension Support
133
134
 
@@ -185,7 +186,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
185
186
 
186
187
  - All shared extensions can be disabled by specifying `none`. When `none` is specified along with other extensions, it is hoisted to the start of the input. So, all the shared extensions will be disabled first, then rest of the extensions in the input will be processed.
187
188
 
188
- **Note:** This disables all core and third-party shared extensions and thus, can break some tools which need them. Required extensions are enabled again when the tools are set up on a best-effort basis. So it is recommended to add the extensions required for your tools after `none` in the `extensions` input to avoid any issues.
189
+ This disables all core and third-party shared extensions and thus, can break some tools which need them. Required extensions are enabled again when the tools are set up on a best-effort basis. So it is recommended to add the extensions required for your tools after `none` in the `extensions` input to avoid any issues.
189
190
 
190
191
  ```yaml
191
192
  - name: Setup PHP without any shared extensions except mbstring
@@ -249,13 +250,13 @@ These tools can be set up globally using the `tools` input. It accepts a string
249
250
  ```
250
251
 
251
252
  - To set up a particular version of a tool, specify it in the form `tool:version`.
252
-
253
+
253
254
  Version can be in the following format:
254
- - Semver. For example `tool:1.2.3` or `tool:1.2.3-beta1`.
255
- - Major version. For example `tool:1` or `tool:1.x`.
256
- - Major and minor version. For example `tool:1.2` or `tool:1.2.x`.
257
-
258
- When you specify just the major version or the version in `major.minor` format, the latest patch version matching the input will be setup.
255
+ - Semver. For example `tool:1.2.3` or `tool:1.2.3-beta1`.
256
+ - Major version. For example `tool:1` or `tool:1.x`.
257
+ - Major and minor version. For example `tool:1.2` or `tool:1.2.x`.
258
+
259
+ When you specify just the major version or the version in `major.minor` format, the latest patch version matching the input will be setup.
259
260
 
260
261
  With the exception of major versions of `composer`, if you specify only the `major` version or the version in `major.minor` format for a tool you can get rate limited by GitHub's API. To avoid this, it is recommended to provide a [`GitHub` OAuth token](https://github.com/shivammathur/setup-php#composer-github-oauth "Composer GitHub OAuth").
261
262
  You can do that by setting `GITHUB_TOKEN` environment variable. The `COMPOSER_TOKEN` environment variable has been deprecated in favor of `GITHUB_TOKEN` and will be removed in the next major version.
@@ -308,12 +309,12 @@ These tools can be set up globally using the `tools` input. It accepts a string
308
309
  fail-fast: true
309
310
  ```
310
311
 
311
- **Notes**
312
- - Input `tools` is useful to set up tools which are only used in CI workflows, thus keeping your `composer.json` tidy.
313
- - If you do not want to use all your dev-dependencies in workflow, you can run composer with `--no-dev` and install required tools using `tools` input to speed up your workflow.
314
- - By default, `COMPOSER_NO_INTERACTION` is set to `1` and `COMPOSER_PROCESS_TIMEOUT` is set to `0`. In effect, this means that Composer commands in your scripts do not need to specify `--no-interaction`.
315
- - Also, `COMPOSER_NO_AUDIT` is set to `1`. So if you want to audit your dependencies for security vulnerabilities, it is recommended to add a `composer audit` step before you install them.
316
- - If you want to set a different `COMPOSER_PROCESS_TIMEOUT`, you can set it in your workflow file using the `env` keyword.
312
+ > [!NOTE]
313
+ > - Input `tools` is useful to set up tools which are only used in CI workflows, thus keeping your `composer.json` tidy.
314
+ > - If you do not want to use all your dev-dependencies in workflow, you can run composer with `--no-dev` and install required tools using `tools` input to speed up your workflow.
315
+ > - By default, `COMPOSER_NO_INTERACTION` is set to `1` and `COMPOSER_PROCESS_TIMEOUT` is set to `0`. In effect, this means that Composer commands in your scripts do not need to specify `--no-interaction`.
316
+ > - Also, `COMPOSER_NO_AUDIT` is set to `1`. So if you want to audit your dependencies for security vulnerabilities, it is recommended to add a `composer audit` step before you install them.
317
+ > - If you want to set a different `COMPOSER_PROCESS_TIMEOUT`, you can set it in your workflow file using the `env` keyword.
317
318
 
318
319
  ```yaml
319
320
  - name: Setup PHP with composer and custom process timeout
@@ -350,14 +351,15 @@ Runs on all [PHP versions supported](#tada-php-support "List of PHP versions sup
350
351
  coverage: xdebug2
351
352
  ```
352
353
 
353
- **Note**: Xdebug is enabled by default on Ubuntu GitHub Actions images, so if you are not using it in your workflow it is recommended to disable it as that will have a positive impact on your PHP performance. Please refer to the [disable coverage](#disable-coverage) section for details.
354
+ > [!NOTE]
355
+ > Xdebug is enabled by default on Ubuntu GitHub Actions images, so if you are not using it in your workflow it is recommended to disable it as that will have a positive impact on your PHP performance. Please refer to the [disable coverage](#disable-coverage) section for details.
354
356
 
355
357
  ### PCOV
356
358
 
357
359
  Specify `coverage: pcov` to use `PCOV` and disable `Xdebug`.
358
360
  Runs on PHP 7.1 and newer PHP versions.
359
361
 
360
- - If your source code directory is other than `src`, `lib` or, `app`, specify `pcov.directory` using the `ini-values` input.
362
+ - If your source code directory is other than `src`, `lib` or, `app`, specify `pcov.directory` using the `ini-values` input.
361
363
 
362
364
  ```yaml
363
365
  - name: Setup PHP with PCOV
@@ -368,7 +370,7 @@ Runs on PHP 7.1 and newer PHP versions.
368
370
  coverage: pcov
369
371
  ```
370
372
 
371
- - PHPUnit 8.x and above supports PCOV out of the box.
373
+ - PHPUnit 8.x and above supports PCOV out of the box.
372
374
  - If you are using PHPUnit 5.x, 6.x or 7.x, you need to set up `pcov/clobber` before executing your tests.
373
375
 
374
376
  ```yaml
@@ -411,7 +413,7 @@ Disable coverage for these reasons:
411
413
  - Accepts `highest` or `latest` to set up the latest stable PHP version.
412
414
  - Accepts `nightly` to set up a nightly build from the master branch of PHP.
413
415
  - Accepts `pre-installed` to set up the highest pre-installed PHP version. You can combine this with `update: true` to update the pre-installed PHP version.
414
- - Accepts the format `d.x`, where `d` is the major version. For example `5.x`, `7.x` and `8.x`.
416
+ - Accepts the format `d.x`, where `d` is the major version. For example `5.x`, `7.x` and `8.x`.
415
417
  - See [PHP support](#tada-php-support) for the supported PHP versions.
416
418
  - If not specified, it looks for the following in order:
417
419
  - The `php-version-file` input if it exists
@@ -425,6 +427,7 @@ Disable coverage for these reasons:
425
427
  - Accepts a `string`. For example `'.phpenv-version'`.
426
428
  - See [PHP support](#tada-php-support) for the supported PHP versions.
427
429
  - By default, `.php-version` file is used.
430
+ - The file either have the PHP version as its content, or follow the asdf `.tool-versions` format.
428
431
  - If not specified and the default `.php-version` file is not found, the latest stable PHP version is set up.
429
432
 
430
433
  #### `extensions` (optional)
@@ -443,9 +446,9 @@ Disable coverage for these reasons:
443
446
 
444
447
  #### `ini-values` (optional)
445
448
 
446
- - Specify the values you want to add to `php.ini`.
449
+ - Specify the values you want to add to `php.ini`.
447
450
  - Accepts a `string` in csv-format. For example `post_max_size=256M, max_execution_time=180`.
448
- - Accepts ini values with commas if wrapped in quotes. For example `xdebug.mode="develop,coverage"`.
451
+ - Accepts ini values with commas if wrapped in quotes. For example `xdebug.mode="develop,coverage"`.
449
452
 
450
453
  #### `coverage` (optional)
451
454
 
@@ -577,10 +580,10 @@ steps:
577
580
  - Production release builds of PHP without debugging symbols are set up by default.
578
581
  - You can use the `debug` environment variable to set up a build with debugging symbols for PHP 5.6 and above.
579
582
 
580
- **Notes**
581
- - On Linux, the debug symbols are added as [debug info files](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Separate-Debug-Files.html) in the `/usr/lib/debug/.build-id` directory. These files match the `build-id` in the ELF section of the PHP binaries and debugging tools like `gdb` are able to resolve the symbols from these files.
582
- - On Windows, the debug symbols are added as `pdb` files in the PHP installation directory.
583
- - On macOS, the debug symbols are compiled into the binaries.
583
+ > [!NOTE]
584
+ > - On Linux, the debug symbols are added as [debug info files](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Separate-Debug-Files.html) in the `/usr/lib/debug/.build-id` directory. These files match the `build-id` in the ELF section of the PHP binaries and debugging tools like `gdb` are able to resolve the symbols from these files.
585
+ > - On Windows, the debug symbols are added as `pdb` files in the PHP installation directory.
586
+ > - On macOS, the debug symbols are compiled into the binaries.
584
587
 
585
588
  ```yaml
586
589
  steps:
@@ -695,10 +698,10 @@ jobs:
695
698
  runner: self-hosted
696
699
  ```
697
700
 
698
- **Notes**
699
- - Do not set up multiple self-hosted runners on a single server instance as parallel workflow will conflict with each other.
700
- - Do not set up self-hosted runners on the side on your development environment or your production server.
701
- - Avoid using the same labels for your `self-hosted` runners which are used by `GitHub-hosted` runners.
701
+ > [!NOTE]
702
+ > - Do not set up multiple self-hosted runners on a single server instance as parallel workflow will conflict with each other.
703
+ > - Do not set up self-hosted runners on the side on your development environment or your production server.
704
+ > - Avoid using the same labels for your `self-hosted` runners which are used by `GitHub-hosted` runners.
702
705
 
703
706
  ### Local Testing Setup
704
707
 
@@ -717,7 +720,7 @@ jobs:
717
720
 
718
721
  Run the workflow locally with `act` using [`shivammathur/node`](https://github.com/shivammathur/node-docker "Docker image to run setup-php") docker images.
719
722
 
720
- Choose the image tag which matches the `runs-on` property in your workflow. For example, if you are using `ubuntu-20.04` in your workflow, run `act -P ubuntu-20.04=shivammathur/node:2004`.
723
+ Choose the image tag which matches the `runs-on` property in your workflow. For example, if you are using `ubuntu-22.04` in your workflow, run `act -P ubuntu-22.04=shivammathur/node:2204`.
721
724
 
722
725
  ```bash
723
726
  # For runs-on: ubuntu-latest
@@ -728,9 +731,6 @@ act -P ubuntu-24.04=shivammathur/node:2404
728
731
 
729
732
  # For runs-on: ubuntu-22.04
730
733
  act -P ubuntu-22.04=shivammathur/node:2204
731
-
732
- # For runs-on: ubuntu-20.04
733
- act -P ubuntu-20.04=shivammathur/node:2004
734
734
  ```
735
735
 
736
736
  ### JIT Configuration
@@ -742,7 +742,7 @@ act -P ubuntu-20.04=shivammathur/node:2004
742
742
  - By default, `opcache.jit=1235` and `opcache.jit_buffer_size=256M` are set which can be changed using `ini-values` input.
743
743
  - For detailed information about JIT related directives refer to the [`official PHP documentation`](https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.jit "opcache.jit documentation").
744
744
 
745
- For example to enable JIT in `tracing` mode with buffer size of `64 MB`.
745
+ For example to enable JIT in `tracing` mode with buffer size of `64 MB`.
746
746
 
747
747
  ```yaml
748
748
  - name: Setup PHP with JIT in tracing mode
@@ -778,9 +778,9 @@ If your project uses composer, you can persist the composer's internal cache dir
778
778
  run: composer install --prefer-dist
779
779
  ```
780
780
 
781
- **Notes**
782
- - Please do not cache `vendor` directory using `action/cache` as that will have side effects.
783
- - If you do not commit `composer.lock`, you can use the hash of `composer.json` as the key for your cache.
781
+ > [!NOTE]
782
+ > - Please do not cache `vendor` directory using `action/cache` as that will have side effects.
783
+ > - If you do not commit `composer.lock`, you can use the hash of `composer.json` as the key for your cache.
784
784
  ```yaml
785
785
  key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
786
786
  ```
@@ -973,7 +973,7 @@ Examples of using `setup-php` with various PHP frameworks and packages.
973
973
 
974
974
  ## :scroll: License
975
975
 
976
- - The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/setup-php").
976
+ - The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/setup-php").
977
977
  - This project has multiple [dependencies](#package-dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
978
978
  - 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").
979
979
 
package/lib/extensions.js CHANGED
@@ -57,12 +57,12 @@ async function addExtensionDarwin(extension_csv, version) {
57
57
  add_script += await utils.parseExtensionSource(extension, ext_prefix);
58
58
  return;
59
59
  case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
60
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
60
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
61
61
  case /^couchbase|^event|^gearman$|^geos$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(extension):
62
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])ioncube$/.test(version_extension):
63
- case /(5\.6|7\.[0-3])phalcon3|7\.[2-4]phalcon4|(7\.4|8\.[0-3])phalcon5?/.test(version_extension):
62
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])ioncube$/.test(version_extension):
63
+ case /(5\.6|7\.[0-3])phalcon3|7\.[2-4]phalcon4|(7\.4|8\.[0-4])phalcon5?/.test(version_extension):
64
64
  case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
65
- case /^(7\.[0-4]|8\.[0-3])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
65
+ case /^(7\.[0-4]|8\.[0-4])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
66
66
  add_script += await utils.customPackage(ext_name, 'extensions', extension, 'darwin');
67
67
  return;
68
68
  case /.+-(stable|beta|alpha|devel|snapshot|rc|preview)/.test(extension):
@@ -106,13 +106,13 @@ async function addExtensionWindows(extension_csv, version) {
106
106
  case /^none$/.test(ext_name):
107
107
  add_script += '\nDisable-AllShared';
108
108
  break;
109
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
109
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
110
110
  case /^pdo_oci$|^oci8$|^pdo_firebird$/.test(extension):
111
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])ioncube$/.test(version_extension):
112
- case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-3])phalcon5?$/.test(version_extension):
111
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])ioncube$/.test(version_extension):
112
+ case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-4])phalcon5?$/.test(version_extension):
113
113
  case /^(7\.[1-4]|8\.1)(pecl_)?http/.test(version_extension):
114
114
  case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
115
- case /^(7\.[0-4]|8\.[0-3])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
115
+ case /^(7\.[0-4]|8\.[0-4])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
116
116
  add_script += await utils.customPackage(ext_name, 'extensions', extension, 'win32');
117
117
  return;
118
118
  case /.+-(stable|beta|alpha|devel|snapshot)/.test(extension):
@@ -173,14 +173,14 @@ async function addExtensionLinux(extension_csv, version) {
173
173
  add_script += await utils.parseExtensionSource(extension, ext_prefix);
174
174
  return;
175
175
  case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
176
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
176
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
177
177
  case /^((5\.[3-6])|(7\.[0-2]))pdo_cubrid$|^((5\.[3-6])|(7\.[0-4]))cubrid$/.test(version_extension):
178
178
  case /^couchbase|^event|^gearman$|^geos$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(extension):
179
179
  case /(?<!5\.[3-5])intl-\d+\.\d+$/.test(version_extension):
180
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])ioncube$/.test(version_extension):
181
- case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-3])phalcon5?$/.test(version_extension):
180
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])ioncube$/.test(version_extension):
181
+ case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-4])phalcon5?$/.test(version_extension):
182
182
  case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
183
- case /^(7\.[0-4]|8\.[0-3])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
183
+ case /^(7\.[0-4]|8\.[0-4])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
184
184
  add_script += await utils.customPackage(ext_name, 'extensions', extension, 'linux');
185
185
  return;
186
186
  case /.+-(stable|beta|alpha|devel|snapshot|rc|preview)/.test(extension):
package/lib/tools.js CHANGED
@@ -320,6 +320,9 @@ async function addPHPUnitTools(data) {
320
320
  'latest';
321
321
  }
322
322
  data['url'] = await getPharUrl(data);
323
+ if (data['url'].match(/-\d+/)) {
324
+ data['url'] += ',' + data['url'].replace(/-(\d+)\.\d+\.\d+/, '-$1');
325
+ }
323
326
  return await addArchive(data);
324
327
  }
325
328
  async function addWPCLI(data) {
package/lib/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,4CAgBC;AAOD,4CAqBC;AAQD,gCAqBC;AAQD,gCAKC;AAOD,gCAgBC;AAOD,wBAwBC;AAOD,gCAcC;AAOD,gCAKC;AAOD,gCAUC;AAOD,gDAoBC;AAOD,8BAQC;AAOD,kCAkCC;AAOD,kCAyBC;AAOD,kCAmBC;AAOD,0BAEC;AAOD,4BAUC;AAOD,4BAyBC;AAOD,0CAWC;AAOD,4BASC;AASD,0BAmDC;AAuBD,4BAwDC;AAvkBD,gDAAwB;AACxB,4CAAoB;AACpB,+CAAiC;AACjC,uDAAyC;AACzC,+CAAiC;AAiB1B,KAAK,UAAU,gBAAgB,CAAC,IAAQ;IAC7C,MAAM,MAAM,GAAW,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,gCAAgC,IAAI,CAAC,YAAY,CAAC,6BAA6B,MAAM,GAAG,CAAC;IACrG,MAAM,YAAY,GAChB,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAO,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,gCAAgC,MAAM,GAAG,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,GAAG,GAAW,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7D,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,gBAAgB,CAAC,IAAQ;IAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,OAAO,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAA2B,MAAM,KAAK,CAAC,KAAK,CACpD,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACxD,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAa;YACzB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACvE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzB,OAAO,CACL,QAAQ;aACL,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAC/C;aACA,GAAG,EAAE,IAAI,QAAQ,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQM,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,IAAQ;IAExD,MAAM,YAAY,GAChB,qLAAqL,CAAC;IACxL,MAAM,cAAc,GAAG,4CAA4C,CAAC;IACpE,MAAM,gBAAgB,GAAG,YAAY,CAAC;IACtC,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACxC,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU;YACxE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU;YACzE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACzD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAChC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAQM,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,IAAQ;IACxD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,UAAoB;IACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC;IACrC,MAAM,WAAW,GACf,yEAAyE,CAAC;IAC5E,MAAM,OAAO,GAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,QAAQ,GAAG,UAAU,CAAC;IAC1B,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS;YAC1B,MAAM;QACR;YACE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACjE,MAAM;IACV,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,UAAU,CAAC;AACpB,CAAC;AAOM,KAAK,UAAU,MAAM,CAAC,IAAQ;IACnC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,CAAC,QAAQ,CAAC;YACd,IAAI,CAAC,YAAY,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC;YACd,IAAI,CAAC,SAAS,CAAC;YACf,IAAI,CAAC,MAAM,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SACjC;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO;YACL,IAAI,CAAC,QAAQ,CAAC;YACd,IAAI,CAAC,YAAY,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC;YACd,IAAI,CAAC,MAAM,CAAC;YACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SACjC;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAQ;IACvC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC;YACd,GAAG;YACH,IAAI,CAAC,MAAM,CAAC;YACZ,GAAG;YACH,IAAI,CAAC,gBAAgB,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC;YACf,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAQ;IACvC,OAAO,CACL,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,IAAQ;IACvC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;IACpE,MAAM,KAAK,GAAa,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,IAAI,GAAW,MAAM,KAAK,CAAC,KAAK,CACpC,KAAK,CAAC,CAAC,CAAC,EACR,IAAI,CAAC,SAAS,CAAC,EACf,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EACd,IAAI,CAAC,OAAO,CAAC,CACd,CAAC;IACF,OAAO,OAAO,GAAG,IAAI,CAAC;AACxB,CAAC;AAOM,KAAK,UAAU,kBAAkB,CAAC,IAAQ;IAC/C,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,EACZ,IAAI,CAAC,MAAM,CAAC,GAAG,wBAAwB,EACvC,OAAO,CACR,CAAC;QACJ;YACE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAChC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;gBAC5B,CAAC;qBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,SAAS,CAAC,IAAQ;IACtC,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;IAC7E,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC,mBAAmB,CAAC,GAAG,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC3B,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAQ;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,0BAA0B,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,OAAO,OAAO,CAAC;IACnE,MAAM,YAAY,GAAG,GAAG,MAAM,yDAAyD,QAAQ,EAAE,CAAC;IAClG,MAAM,OAAO,GAAG,GAAG,GAAG,iDAAiD,QAAQ,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,GAAG,WAAW,sCAAsC,CAAC;IACrE,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,MAAM,kBAAkB,GAAG,GAAG,WAAW,aAAa,OAAO,OAAO,CAAC;IACrE,IAAI,SAAS,GAAG,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC;IAC7C,IAAI,UAAU,GAAG,GAAG,WAAW,gBAAgB,CAAC;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3C,MAAM;QACR,KAAK,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACnD,MAAM;QACR,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACtB,UAAU,GAAG,kBAAkB,CAAC;YAChC,MAAM;QACR,KAAK,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;YACjG,UAAU,GAAG,kBAAkB,CAAC;YAChC,MAAM;QACR;YACE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACvD,CAAC;IACD,MAAM,SAAS,GAAY,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,MAAM,CAAC;IAC9E,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACpE,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAQ;IACxC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAO,MAAM,KAAK,CAAC,KAAK,CACpC,oCAAoC,CACrC,CAAC;QACF,MAAM,YAAY,GAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAuB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CACpE,CAAC,GAAW,EAAE,EAAE;YACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CACF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,UAAU,EACV,sCAAsC,EACtC,IAAI,CAAC,IAAI,CAAC,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,WAAW,CAAC,IAAQ;IACxC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,OAAO;YACV,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,EACZ,IAAI,CAAC,MAAM,CAAC,GAAG,wBAAwB,EACvC,OAAO,CACR,CAAC;QACJ;YACE,OAAO,MAAM,KAAK,CAAC,GAAG,CACpB,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,mBAAmB,EAC9C,IAAI,CAAC,IAAI,CAAC,EACV,OAAO,CACR,CAAC;IACN,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,OAAO,CAAC,IAAQ;IACpC,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAQ;IACrC,IAAI,CAAC,KAAK,CAAC;QACT,IAAI,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;QAChC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAQ;IACrC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvC,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,QAAQ,EACR,OAAO,EACP,gCAAgC,GAAG,IAAI,CAAC,aAAa,CAAC,EACtD,IAAI,CAAC,IAAI,CAAC,CACX,CAAC;QACJ,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YAC3B,MAAM;QACR,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YAC3B,MAAM;QACR,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YAC3B,MAAM;QACR,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM;IACV,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,eAAe,CAAC,IAAQ;IAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC;YACb,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAChE,QAAQ,CAAC;IACb,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAOM,KAAK,UAAU,QAAQ,CAAC,IAAQ;IACrC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,uDAAuD,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AASM,KAAK,UAAU,OAAO,CAC3B,OAAe,EACf,WAAmB,EACnB,EAAU;IAEV,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;IACzE,MAAM,SAAS,GAAW,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,YAAY,GAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,IAAQ,CAAC;IACb,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAuB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAC5D,CAAC,GAAW,EAAE,EAAE;YACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QAC5C,CAAC,CACF,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,UAAU;aACjB,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;IAClC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,IAAI,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;IAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO;QACvB,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;QACjC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC;AAEY,QAAA,cAAc,GAAkD;IAC3E,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,gBAAgB,EAAE,kBAAkB;IACpC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,QAAQ;CACjB,CAAC;AASK,KAAK,UAAU,QAAQ,CAC5B,SAAiB,EACjB,WAAmB,EACnB,EAAU;IAEV,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,WAAW,OAAe;QAClE,MAAM,IAAI,GAAO,MAAM,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,IAAI,CAAC;QACf,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;gBAC9B,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAC1B,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,EACZ,IAAI,CAAC,OAAO,CAAC,EACb,IAAI,CAAC,IAAI,CAAC,CACX,CAAC;gBACF,MAAM;YACR,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC;gBAC9B,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,gBAAgB,KAAK,IAAI,CAAC,MAAM,CAAC;gBACpC,MAAM,IAAI,MAAM,KAAK,CAAC,aAAa,CACjC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC1B,OAAO,EACP,IAAI,CAAC,SAAS,CAAC,EACf,IAAI,CAAC,IAAI,CAAC,CACX,CAAC;gBACF,MAAM;YACR,KAAK,iBAAiB,KAAK,IAAI,CAAC,MAAM,CAAC;gBACrC,MAAM,IAAI,MAAM,sBAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACR;gBACE,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,CAC1B,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,EACZ,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,mBAAmB,EAC5C,IAAI,CAAC,IAAI,CAAC,CACX,CAAC;gBACF,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "setup-php",
3
- "version": "2.32.0",
3
+ "version": "2.33.0",
4
4
  "private": false,
5
5
  "description": "Setup PHP for use with GitHub Actions",
6
6
  "main": "lib/install.js",
@@ -40,26 +40,26 @@
40
40
  "compare-versions": "^6.1.1"
41
41
  },
42
42
  "devDependencies": {
43
- "@eslint/compat": "^1.2.4",
44
- "@eslint/js": "9.17.0",
43
+ "@eslint/compat": "^1.2.8",
44
+ "@eslint/js": "9.24.0",
45
45
  "@types/jest": "^29.5.14",
46
- "@types/node": "^22.10.2",
47
- "@typescript-eslint/eslint-plugin": "^8.18.2",
48
- "@typescript-eslint/parser": "^8.18.2",
46
+ "@types/node": "^22.14.1",
47
+ "@typescript-eslint/eslint-plugin": "^8.29.1",
48
+ "@typescript-eslint/parser": "^8.29.1",
49
49
  "@vercel/ncc": "^0.38.3",
50
- "eslint": "9.17.0",
51
- "eslint-config-prettier": "^9.1.0",
50
+ "eslint": "9.24.0",
51
+ "eslint-config-prettier": "^10.1.2",
52
52
  "eslint-plugin-import": "^2.31.0",
53
- "eslint-plugin-jest": "^28.10.0",
54
- "eslint-plugin-prettier": "^5.2.1",
55
- "globals": "^15.14.0",
53
+ "eslint-plugin-jest": "^28.11.0",
54
+ "eslint-plugin-prettier": "^5.2.6",
55
+ "globals": "^16.0.0",
56
56
  "jest": "^29.7.0",
57
57
  "jest-circus": "^29.7.0",
58
- "nock": "^13.5.6",
59
- "prettier": "^3.4.2",
60
- "simple-git-hooks": "^2.11.1",
61
- "ts-jest": "^29.2.5",
62
- "typescript": "^5.7.2"
58
+ "nock": "^14.0.3",
59
+ "prettier": "^3.5.3",
60
+ "simple-git-hooks": "^2.12.1",
61
+ "ts-jest": "^29.3.1",
62
+ "typescript": "^5.8.3"
63
63
  },
64
64
  "bugs": {
65
65
  "url": "https://github.com/shivammathur/setup-php/issues"
@@ -11,7 +11,6 @@ grpc=30
11
11
  http=25
12
12
  pecl_http=25
13
13
  pecl-http=25
14
- psr=15
15
14
  inotify=30
16
15
  libvirt-php=40
17
16
  mailparse=25
@@ -20,6 +19,7 @@ memcached=25
20
19
  mysqlnd=10
21
20
  mysqlnd_ms=30
22
21
  opcache=10
22
+ openswoole=25
23
23
  pdo=10
24
24
  phalcon=35
25
25
  protobuf=30
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "composer-dependency-analyser": {
20
20
  "type": "composer",
21
- "repository": "shipmonk-rnd/composer-dependency-analyser",
21
+ "repository": "shipmonk/composer-dependency-analyser",
22
22
  "scope": "scoped"
23
23
  },
24
24
  "composer-unused": {
@@ -35,7 +35,7 @@
35
35
  "extension": ".phar",
36
36
  "domain": "https://github.com",
37
37
  "version_prefix": "",
38
- "version_parameter": "-V"
38
+ "version_parameter": "diagnose"
39
39
  },
40
40
  "cs2pr": {
41
41
  "type": "phar",
@@ -71,7 +71,7 @@
71
71
  },
72
72
  "php-cs-fixer": {
73
73
  "type": "phar",
74
- "repository": "FriendsOfPHP/PHP-CS-Fixer",
74
+ "repository": "PHP-CS-Fixer/PHP-CS-Fixer",
75
75
  "extension": ".phar",
76
76
  "domain": "https://github.com",
77
77
  "fetch_latest": "true",
package/src/extensions.ts CHANGED
@@ -32,25 +32,25 @@ export async function addExtensionDarwin(
32
32
  add_script += await utils.parseExtensionSource(extension, ext_prefix);
33
33
  return;
34
34
  // match 7.4relay...8.5relay
35
- // match 5.3blackfire...8.3blackfire
36
- // match 5.3blackfire-(semver)...8.3blackfire-(semver)
35
+ // match 5.3blackfire...8.4blackfire
36
+ // match 5.3blackfire-(semver)...8.4blackfire-(semver)
37
37
  // match couchbase, event, geos, pdo_oci, oci8, http, pecl_http
38
- // match 5.3ioncube...8.2ioncube
39
- // match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.3phalcon5
40
- // match 7.0zephir_parser...8.3zephir_parser
38
+ // match 5.3ioncube...8.4ioncube
39
+ // match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.4phalcon5
40
+ // match 7.0zephir_parser...8.4zephir_parser
41
41
  case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
42
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(
42
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])blackfire(-\d+\.\d+\.\d+)?$/.test(
43
43
  version_extension
44
44
  ):
45
45
  case /^couchbase|^event|^gearman$|^geos$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(
46
46
  extension
47
47
  ):
48
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])ioncube$/.test(version_extension):
49
- case /(5\.6|7\.[0-3])phalcon3|7\.[2-4]phalcon4|(7\.4|8\.[0-3])phalcon5?/.test(
48
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])ioncube$/.test(version_extension):
49
+ case /(5\.6|7\.[0-3])phalcon3|7\.[2-4]phalcon4|(7\.4|8\.[0-4])phalcon5?/.test(
50
50
  version_extension
51
51
  ):
52
52
  case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
53
- case /^(7\.[0-4]|8\.[0-3])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
53
+ case /^(7\.[0-4]|8\.[0-4])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
54
54
  version_extension
55
55
  ):
56
56
  add_script += await utils.customPackage(
@@ -134,24 +134,24 @@ export async function addExtensionWindows(
134
134
  case /^none$/.test(ext_name):
135
135
  add_script += '\nDisable-AllShared';
136
136
  break;
137
- // match 5.3blackfire...8.3blackfire
138
- // match 5.3blackfire-(semver)...8.3blackfire-(semver)
137
+ // match 5.3blackfire...8.4blackfire
138
+ // match 5.3blackfire-(semver)...8.4blackfire-(semver)
139
139
  // match pdo_oci and oci8
140
- // match 5.3ioncube...8.2ioncube
141
- // match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.3phalcon5
140
+ // match 5.3ioncube...8.4ioncube
141
+ // match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.4phalcon5
142
142
  // match 7.1pecl_http...8.1pecl_http and 7.1http...8.1http
143
- // match 7.0zephir_parser...8.3zephir_parser
144
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(
143
+ // match 7.0zephir_parser...8.4zephir_parser
144
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])blackfire(-\d+\.\d+\.\d+)?$/.test(
145
145
  version_extension
146
146
  ):
147
147
  case /^pdo_oci$|^oci8$|^pdo_firebird$/.test(extension):
148
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])ioncube$/.test(version_extension):
149
- case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-3])phalcon5?$/.test(
148
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])ioncube$/.test(version_extension):
149
+ case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-4])phalcon5?$/.test(
150
150
  version_extension
151
151
  ):
152
152
  case /^(7\.[1-4]|8\.1)(pecl_)?http/.test(version_extension):
153
153
  case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
154
- case /^(7\.[0-4]|8\.[0-3])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
154
+ case /^(7\.[0-4]|8\.[0-4])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
155
155
  version_extension
156
156
  ):
157
157
  add_script += await utils.customPackage(
@@ -264,15 +264,15 @@ export async function addExtensionLinux(
264
264
  add_script += await utils.parseExtensionSource(extension, ext_prefix);
265
265
  return;
266
266
  // match 7.4relay...8.5relay
267
- // match 5.3blackfire...8.3blackfire
268
- // match 5.3blackfire-(semver)...8.3blackfire-(semver)
267
+ // match 5.3blackfire...8.4blackfire
268
+ // match 5.3blackfire-(semver)...8.4blackfire-(semver)
269
269
  // match 5.3pdo_cubrid...7.2php_cubrid, 5.3cubrid...7.4cubrid
270
270
  // match couchbase, geos, pdo_oci, oci8, http, pecl_http
271
- // match 5.3ioncube...8.2ioncube
272
- // match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, 7.4phalcon5...8.3phalcon5
273
- // match 7.0zephir_parser...8.3zephir_parser
271
+ // match 5.3ioncube...8.4ioncube
272
+ // match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, 7.4phalcon5...8.4phalcon5
273
+ // match 7.0zephir_parser...8.4zephir_parser
274
274
  case /^(7\.4|8\.[0-5])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
275
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(
275
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])blackfire(-\d+\.\d+\.\d+)?$/.test(
276
276
  version_extension
277
277
  ):
278
278
  case /^((5\.[3-6])|(7\.[0-2]))pdo_cubrid$|^((5\.[3-6])|(7\.[0-4]))cubrid$/.test(
@@ -282,12 +282,12 @@ export async function addExtensionLinux(
282
282
  extension
283
283
  ):
284
284
  case /(?<!5\.[3-5])intl-\d+\.\d+$/.test(version_extension):
285
- case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])ioncube$/.test(version_extension):
286
- case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-3])phalcon5?$/.test(
285
+ case /^(5\.[3-6]|7\.[0-4]|8\.[0-4])ioncube$/.test(version_extension):
286
+ case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-4])phalcon5?$/.test(
287
287
  version_extension
288
288
  ):
289
289
  case /(?<!5\.[3-6])(pdo_)?sqlsrv$/.test(version_extension):
290
- case /^(7\.[0-4]|8\.[0-3])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
290
+ case /^(7\.[0-4]|8\.[0-4])zephir_parser(-v?\d+\.\d+\.\d+)?$/.test(
291
291
  version_extension
292
292
  ):
293
293
  add_script += await utils.customPackage(
@@ -252,7 +252,7 @@ setup_php() {
252
252
  }
253
253
 
254
254
  # Variables
255
- version=${1:-'8.3'}
255
+ version=${1:-'8.4'}
256
256
  ini=${2:-'production'}
257
257
  src=${0%/*}/..
258
258
  php_formula=shivammathur/php/php@"$version"
@@ -136,6 +136,10 @@ Function Add-Extension {
136
136
  {
137
137
  $params["Version"] = $extension_version
138
138
  }
139
+ # If extension for a different version exists
140
+ if(Test-Path $ext_dir\php_$extension.dll) {
141
+ Move-Item $ext_dir\php_$extension.dll $ext_dir\php_$extension.bak.dll -Force
142
+ }
139
143
  Install-PhpExtension @params
140
144
  Set-ExtensionPrerequisites $extension
141
145
  }
@@ -23,7 +23,7 @@ add_couchbase_clibs() {
23
23
 
24
24
  add_old_libssl() {
25
25
  if [[ "$VERSION_ID" = "24.04" ]]; then
26
- get -q -n /tmp/libssl.deb http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.22_amd64.deb
26
+ get -q -n /tmp/libssl.deb http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
27
27
  [ -e /tmp/libssl.deb ] && sudo dpkg -i /tmp/libssl.deb || add_extension_log "couchbase" "Could not install libssl1.1"
28
28
  fi
29
29
  }
@@ -15,6 +15,7 @@ add_firebird_client_darwin() {
15
15
  add_firebird_helper() {
16
16
  firebird_dir=$1
17
17
  tag="$(php_src_tag)"
18
+ export PDO_FIREBIRD_CONFIGURE_PREFIX_OPTS="CFLAGS=-Wno-incompatible-function-pointer-types EXTRA_CFLAGS=-Wno-int-conversion"
18
19
  export PDO_FIREBIRD_CONFIGURE_OPTS="--with-pdo-firebird=$firebird_dir"
19
20
  export PDO_FIREBIRD_LINUX_LIBS="firebird-dev"
20
21
  export PDO_FIREBIRD_PATH="ext/pdo_firebird"
@@ -2,9 +2,9 @@
2
2
  install_icu() {
3
3
  icu=$1
4
4
  if [ "$(php -i | grep "ICU version =>" | sed -e "s|.*=> s*||")" != "$icu" ]; then
5
- get -q -n /tmp/icu.tar.zst "https://github.com/shivammathur/icu-intl/releases/download/icu4c/icu4c-$icu.tar.zst"
5
+ get -q -n /tmp/icu.tar.zst "https://github.com/shivammathur/icu-intl/releases/download/icu4c/icu4c-$icu$arch_suffix.tar.zst"
6
6
  sudo tar -I zstd -xf /tmp/icu.tar.zst -C /usr/local
7
- sudo cp -r /usr/local/icu/lib/* /usr/lib/x86_64-linux-gnu/
7
+ sudo cp -r /usr/local/icu/lib/* /usr/lib/"$(uname -m)"-linux-gnu/
8
8
  fi
9
9
  }
10
10
 
@@ -17,8 +17,11 @@ add_intl() {
17
17
  else
18
18
  [ "${ts:?}" = 'zts' ] && suffix='-zts'
19
19
  install_icu "$icu" >/dev/null 2>&1
20
- get -q -n "${ext_dir:?}/intl.so" "https://github.com/shivammathur/icu-intl/releases/download/intl/php${version:?}-intl-$icu$suffix.so"
20
+ get -q -n "${ext_dir:?}/intl.so" "https://github.com/shivammathur/icu-intl/releases/download/intl/php${version:?}-intl-$icu$suffix$arch_suffix.so"
21
21
  enable_extension intl extension
22
22
  add_extension_log intl "Installed and enabled with ICU $icu"
23
23
  fi
24
24
  }
25
+
26
+ arch="$(uname -m)"
27
+ [[ "$arch" = 'arm64' || "$arch" = 'aarch64' ]] && arch_suffix='-arm64' || arch_suffix=''
@@ -48,6 +48,7 @@ Function Get-Oci8DLL() {
48
48
  return $_
49
49
  }
50
50
  }
51
+ return $null
51
52
  }
52
53
 
53
54
  # Function to install oci8 and pdo_oci.
@@ -62,22 +63,17 @@ Function Add-Oci() {
62
63
  try {
63
64
  $status = 'Enabled'
64
65
  Add-InstantClient
65
- if ($extension -eq "pdo_oci") {
66
- Enable-PhpExtension pdo_oci -Path $php_dir
67
- } else {
68
- if(-not(Test-Path $ext_dir\php_oci8.dll)) {
69
- $oci8DLL = Get-Oci8DLL
70
- if($oci8DLL) {
71
- Copy-Item -Path $oci8DLL -Destination $ext_dir\php_oci8.dll
72
- } else {
73
- $status = 'Installed and enabled'
74
- Get-File -Url (Get-Oci8Url) -OutFile $php_dir\oci8.zip
75
- Expand-Archive -Path $php_dir\oci8.zip -DestinationPath $ext_dir -Force
76
- }
66
+ if($version -lt '8.4') {
67
+ if($version -lt '5.6' -and $extension -eq 'oci8') {
68
+ Add-Content -Value "`r`nextension=php_oci8.dll" -Path $php_dir\php.ini
69
+ } else {
70
+ Enable-PhpExtension $extension -Path $php_dir
77
71
  }
78
- Add-Content -Value "`r`nextension=php_oci8.dll" -Path $php_dir\php.ini
72
+ } else {
73
+ $status = 'Installed and enabled'
74
+ Add-Extension $extension >$null 2>&1
79
75
  }
80
- Add-Log $tick $extension $status
76
+ Add-ExtensionLog $extension $status
81
77
  Add-LicenseLog
82
78
  } catch {
83
79
  Add-Log $cross $extension "Could not install $extension on PHP $( $installed.FullVersion )"
@@ -11,28 +11,36 @@ add_license_log() {
11
11
  add_client() {
12
12
  if [ ! -e "$oracle_client" ]; then
13
13
  sudo mkdir -p -m 777 "$oracle_home" "$oracle_client"
14
+ arch="$(uname -m)"
14
15
  for package in basiclite sdk; do
15
16
  if [ "$os" = 'Linux' ]; then
16
17
  libs='/usr/lib/'
17
18
  os_name='linux'
18
- arch='linuxx64'
19
+ [[ "$arch" = 'arm64' || "$arch" = 'aarch64' ]] && arch_suffix='linux-arm64' || arch_suffix='linuxx64'
19
20
  lib_ext='so'
20
21
  elif [ "$os" = 'Darwin' ]; then
21
22
  libs='/usr/local/lib/'
22
23
  os_name='mac'
23
- arch='macos'
24
+ arch_suffix='macos'
24
25
  lib_ext='dylib'
25
26
  fi
26
- get -q -n "/opt/oracle/$package.zip" "https://download.oracle.com/otn_software/$os_name/instantclient/instantclient-$package-$arch.zip"
27
- unzip -o "/opt/oracle/$package.zip" -d "$oracle_home"
27
+ if [[ "$os" = 'Darwin' && ("$arch" = 'arm64' || "$arch" = 'aarch64') ]]; then
28
+ get -q -n "/opt/oracle/$package.dmg" "https://download.oracle.com/otn_software/$os_name/instantclient/instantclient-$package-macos-arm64.dmg"
29
+ sudo hdiutil attach "/opt/oracle/$package.dmg"
30
+ (cd /Volumes/instantclient-"$package"-macos.arm64-* && bash install_ic.sh)
31
+ sudo cp -a ~/Downloads/instantclient_* /opt/oracle/
32
+ else
33
+ get -q -n "/opt/oracle/$package.zip" "https://download.oracle.com/otn_software/$os_name/instantclient/instantclient-$package-$arch_suffix.zip"
34
+ unzip -o "/opt/oracle/$package.zip" -d "$oracle_home"
35
+ fi
28
36
  done
29
37
  for icdir in /opt/oracle/instantclient_*; do
30
38
  sudo mv "$icdir"/* "$oracle_client"/
31
39
  done
40
+ sudo mkdir -p "$libs"
32
41
  sudo ln -sf /opt/oracle/instantclient/*.$lib_ext* $libs
33
42
  if [ "$os" = "Linux" ]; then
34
- arch="$(uname -m)"
35
- [ -e "$libs/$arch"-linux-gnu/libaio.so.1t64 ] && sudo ln -sf "$libs/$arch"-linux-gnu/libaio.so.1t64 "$libs/$arch"-linux-gnu/libaio.so.1
43
+ [ -e "$libs/$arch"-linux-gnu/libaio.so.1 ] || sudo ln -sf "$libs/$arch"-linux-gnu/libaio.so.1t64 "$libs/$arch"-linux-gnu/libaio.so.1
36
44
  fi
37
45
  fi
38
46
  }
@@ -1,7 +1,7 @@
1
1
  process_file() {
2
2
  local file=$1
3
- sed -i '0,/#include.*\(php_lcg.h\|php_mt_rand.h\|php_rand.h\|standard\/php_random\.h\).*/s//\#include <ext\/random\/php_random.h>/' "$file"
4
- sed -i '/#include.*\(php_lcg.h\|php_mt_rand.h\|php_rand.h\|standard\/php_random\.h\)/d' "$file"
3
+ sed -i'' -e '0,/#include.*\(php_lcg.h\|php_mt_rand.h\|php_rand.h\|standard\/php_random\.h\).*/s//\#include <ext\/random\/php_random.h>/' "$file"
4
+ sed -i'' -e '/#include.*\(php_lcg.h\|php_mt_rand.h\|php_rand.h\|standard\/php_random\.h\)/d' "$file"
5
5
  }
6
6
 
7
7
  export -f process_file
@@ -80,9 +80,9 @@ Function Get-PhalconSemver() {
80
80
  # Function to install phalcon
81
81
  Function Add-PhalconHelper() {
82
82
  $semver = Get-PhalconSemver
83
- if (($extension_version -eq '3') -or ($extension_version -eq '5')) {
83
+ if ($extension_version -eq '3') {
84
84
  Add-PhalconFromGitHub $semver
85
- } elseif ($extension_version -eq '4') {
85
+ } else {
86
86
  Add-Extension -Extension phalcon -Stability stable -Extension_version $semver
87
87
  }
88
88
  }
@@ -73,7 +73,7 @@ add_phalcon4() {
73
73
  fi
74
74
  }
75
75
 
76
- # Function to add phalcon3.
76
+ # Function to add phalcon5.
77
77
  add_phalcon5() {
78
78
  if shared_extension phalcon; then
79
79
  phalcon_version=$(php -d="extension=phalcon.so" -r "echo phpversion('phalcon');" | cut -d'.' -f 1)
@@ -48,6 +48,14 @@ change_library_paths() {
48
48
  fi
49
49
  }
50
50
 
51
+ # Link hiredis library
52
+ link_hiredis() {
53
+ lib_dir="${brew_prefix:?}"/opt/hiredis/lib
54
+ if [ -e "$lib_dir"/libhiredis_ssl.1.1.0.dylib ]; then
55
+ sudo ln -sf "$lib_dir"/libhiredis_ssl.1.1.0.dylib "$lib_dir"/libhiredis_ssl.dylib.1.1.0
56
+ fi
57
+ }
58
+
51
59
  # Add relay dependencies
52
60
  add_relay_dependencies() {
53
61
  add_extension json
@@ -57,6 +65,7 @@ add_relay_dependencies() {
57
65
  . "${0%/*}"/tools/brew.sh
58
66
  configure_brew
59
67
  brew install hiredis lz4 zstd concurrencykit
68
+ link_hiredis
60
69
  fi
61
70
  }
62
71
 
@@ -152,7 +152,7 @@ add_extension_from_source() {
152
152
  patch_extension "$extension" >/dev/null 2>&1
153
153
  run_group "phpize" "phpize"
154
154
  run_group "sudo $prefix_opts ./configure $suffix_opts $opts" "configure"
155
- run_group "sudo make -j$(nproc 2>/dev/null || sysctl -n hw.ncpu)" "make"
155
+ run_group "sudo $prefix_opts make -j$(nproc 2>/dev/null || sysctl -n hw.ncpu)" "make"
156
156
  run_group "sudo make install" "make install"
157
157
  enable_extension "$extension" "$prefix"
158
158
  fi
@@ -31,6 +31,9 @@ Function Get-ZephirParserVersion() {
31
31
  $repo = 'zephir-lang/php-zephir-parser'
32
32
  $zp_releases = "$github/$repo/releases"
33
33
  if($extension -eq 'zephir_parser') {
34
+ if($version -lt '7.2') {
35
+ return 'v1.6.1'
36
+ }
34
37
  return (Get-File -Url $zp_releases/latest).BaseResponse.RequestMessage.RequestUri.Segments[-1]
35
38
  } else {
36
39
  return 'v' + ($extension.split('-')[1] -replace 'v')
@@ -71,10 +74,14 @@ Function Add-ZephirParser() {
71
74
  Enable-PhpExtension -Extension zephir_parser -Path $php_dir
72
75
  } else {
73
76
  $status = 'Installed and enabled'
74
- Add-ZephirParserFromGitHub $extension
77
+ try {
78
+ Add-ZephirParserFromGitHub $extension
79
+ } catch {
80
+ Add-Extension $extension >$null 2>&1
81
+ }
75
82
  }
76
83
  Add-ExtensionLog zephir_parser $status
77
84
  } catch {
78
85
  Add-Log $cross $extension "Could not install $extension on PHP $($installed.FullVersion)"
79
86
  }
80
- }
87
+ }
@@ -17,9 +17,13 @@ add_zephir_parser_helper() {
17
17
  [ "$(uname -s)" = "Linux" ] && os_suffix=ubuntu || os_suffix=macos
18
18
  build_name=$(get -s -n "" https://api.github.com/repos/"$repo"/releases/tags/"$ext_version" | grep -Eo "zephir_parser-php-${version:?}-$nts-$os_suffix-.*.zip" | head -n 1)
19
19
  [ -z "$build_name" ] && build_name=$(get -s -n "" "$zp_releases"/expanded_assets/"$ext_version" | grep -Eo "zephir_parser-php-${version:?}-$nts-$os_suffix-.*.zip" | head -n 1)
20
- get -q -e "/tmp/zp.zip" "$zp_releases"/download/"$ext_version"/"$build_name"
21
- sudo unzip -o "/tmp/zp.zip" -d "${ext_dir:?}"
22
- enable_extension zephir_parser extension
20
+ if [ -n "$build_name" ]; then
21
+ get -q -e "/tmp/zp.zip" "$zp_releases"/download/"$ext_version"/"$build_name"
22
+ sudo unzip -o "/tmp/zp.zip" -d "${ext_dir:?}"
23
+ enable_extension zephir_parser extension
24
+ else
25
+ pecl_install zephir_parser
26
+ fi
23
27
  }
24
28
 
25
29
  # Add zephir_parser
@@ -290,7 +290,7 @@ setup_php() {
290
290
  }
291
291
 
292
292
  # Variables
293
- version=${1:-'8.3'}
293
+ version=${1:-'8.4'}
294
294
  ini=${2:-'production'}
295
295
  src=${0%/*}/..
296
296
  debconf_fix="DEBIAN_FRONTEND=noninteractive"
@@ -1,5 +1,4 @@
1
1
  # Variables
2
- export tool_path_dir="/usr/local/bin"
3
2
  export composer_home="$HOME/.composer"
4
3
  export composer_bin="$composer_home/vendor/bin"
5
4
  export composer_json="$composer_home/composer.json"
@@ -9,7 +9,13 @@ Function Add-Msys2() {
9
9
 
10
10
  Function Add-GrpcPhpPlugin() {
11
11
  $msys_location = Add-Msys2
12
- $logs = . $msys_location\usr\bin\bash -l -c "pacman -S --noconfirm mingw-w64-x86_64-grpc" >$null 2>&1
12
+ $arch = arch
13
+ if($arch -eq 'arm64' -or $arch -eq 'aarch64') {
14
+ $grpc_package = 'mingw-w64-clang-aarch64-grpc'
15
+ } else {
16
+ $grpc_package = 'mingw-w64-x86_64-grpc'
17
+ }
18
+ $logs = . $msys_location\usr\bin\bash -l -c "pacman -S --noconfirm $grpc_package" >$null 2>&1
13
19
  $grpc_version = Get-ToolVersion 'Write-Output' "$logs"
14
20
  Add-Path $msys_location\mingw64\bin
15
21
  Set-Output grpc_php_plugin_path "$msys_location\mingw64\bin\grpc_php_plugin.exe"
@@ -67,7 +67,7 @@ update_lists() {
67
67
  # Function to get fingerprint from an Ubuntu PPA.
68
68
  ubuntu_fingerprint() {
69
69
  ppa=$1
70
- get -s -n "" "$lp_api"/~"${ppa%/*}"/+archive/"${ppa##*/}" | jq -r '.signing_key_fingerprint'
70
+ get -s -n "" "${lp_api[@]/%//~${ppa%/*}/+archive/${ppa##*/}}" | jq -r '.signing_key_fingerprint'
71
71
  }
72
72
 
73
73
  # Function to get fingerprint from a Debian PPA.
@@ -88,7 +88,7 @@ add_key() {
88
88
  key_source=$4
89
89
  key_file=$5
90
90
  key_urls=("$key_source")
91
- if [[ "$key_source" =~ launchpad.net|debian.org ]]; then
91
+ if [[ "$key_source" =~ launchpadcontent.net|debian.org ]]; then
92
92
  fingerprint="$("${ID}"_fingerprint "$ppa" "$ppa_url" "$package_dist")"
93
93
  sks_params="op=get&options=mr&exact=on&search=0x$fingerprint"
94
94
  key_urls=("${sks[@]/%/\/pks\/lookup\?"$sks_params"}")
@@ -117,7 +117,7 @@ check_lists() {
117
117
  # Function to add a sources list.
118
118
  add_list() {
119
119
  ppa=${1-ondrej/php}
120
- ppa_url=${2:-"$lp_ppa/$ppa/ubuntu"}
120
+ ppa_url=${2:-"$lpc_ppa/$ppa/ubuntu"}
121
121
  key_source=${3:-"$ppa_url"}
122
122
  package_dist=${4:-"$VERSION_CODENAME"}
123
123
  branches=${5:-main}
@@ -139,7 +139,7 @@ add_list() {
139
139
  # Function to check if a PPA exists
140
140
  check_ppa() {
141
141
  ppa=$1
142
- ppa_url=${2:-"$lp_ppa/$ppa/ubuntu"}
142
+ ppa_url=${2:-"$lpc_ppa/$ppa/ubuntu"}
143
143
  package_dist=${3:-"$VERSION_CODENAME"}
144
144
  branches=${4:-main}
145
145
  ppa_search="deb .*$ppa_url $package_dist .*$branches$"
@@ -163,7 +163,7 @@ remove_list() {
163
163
  # Function to check if ubuntu ppa is up
164
164
  is_ubuntu_ppa_up() {
165
165
  ppa=${1:-ondrej/php}
166
- curl -s --connect-timeout 5 --max-time 5 --head --fail "$lp_ppa/$ppa/ubuntu/dists/$VERSION_CODENAME/Release" > /dev/null
166
+ curl -s --connect-timeout 5 --max-time 5 --head --fail "$lpc_ppa/$ppa/ubuntu/dists/$VERSION_CODENAME/Release" > /dev/null
167
167
  }
168
168
 
169
169
  # Function to add the PPA mirror.
@@ -181,7 +181,7 @@ add_ppa() {
181
181
  ppa=${1:-ondrej/php}
182
182
  if [[ "$ID" = "ubuntu" || "$ID_LIKE" =~ ubuntu ]] && [[ "$ppa" =~ "ondrej/" ]]; then
183
183
  if is_ubuntu_ppa_up "$ppa" ; then
184
- [ "${debug:?}" = "debug" ] && add_list "$ppa" "$lp_ppa/$ppa/ubuntu" "$lp_ppa/$ppa/ubuntu" "$VERSION_CODENAME" "main/debug"
184
+ [ "${debug:?}" = "debug" ] && add_list "$ppa" "$lpc_ppa/$ppa/ubuntu" "$lpc_ppa/$ppa/ubuntu" "$VERSION_CODENAME" "main/debug"
185
185
  add_list "$ppa"
186
186
  else
187
187
  add_ppa_sp_mirror "$ppa"
@@ -201,7 +201,7 @@ add_ppa() {
201
201
  update_ppa() {
202
202
  set_base_version
203
203
  ppa=${1:-ondrej/php}
204
- ppa_url=${2:-"$lp_ppa/$ppa/ubuntu"}
204
+ ppa_url=${2:-"$lpc_ppa/$ppa/ubuntu"}
205
205
  package_dist=${4:-"$VERSION_CODENAME"}
206
206
  branches=${5:-main}
207
207
  ppa_search="deb .*$ppa_url $package_dist .*$branches"
@@ -214,7 +214,10 @@ list_dir='/etc/apt/sources.list.d'
214
214
  list_file="/etc/apt/sources.list.d/$ID.sources"
215
215
  [ -e "$list_file" ] || list_file='/etc/apt/sources.list'
216
216
  upstream_lsb='/etc/upstream-release/lsb-release'
217
- lp_api='https://api.launchpad.net/1.0'
217
+ lp_api=(
218
+ 'https://api.launchpad.net/1.0'
219
+ 'https://api.launchpad.net/devel'
220
+ )
218
221
  lp_ppa='http://ppa.launchpad.net'
219
222
  lpc_ppa='https://ppa.launchpadcontent.net'
220
223
  key_dir='/usr/share/keyrings'
@@ -17,7 +17,9 @@ add_protoc() {
17
17
  (
18
18
  platform='linux'
19
19
  [ "$(uname -s)" = "Darwin" ] && platform='osx'
20
- get -q -n /tmp/protobuf.zip "https://github.com/protocolbuffers/protobuf/releases/download/$protobuf_tag/protoc-${protobuf_tag:1}-$platform-x86_64.zip"
20
+ arch="$(uname -m)"
21
+ [[ "$arch" = 'arm64' || "$arch" = 'aarch64' ]] && arch='aarch_64'
22
+ get -q -n /tmp/protobuf.zip "https://github.com/protocolbuffers/protobuf/releases/download/$protobuf_tag/protoc-${protobuf_tag:1}-$platform-$arch.zip"
21
23
  sudo unzip /tmp/protobuf.zip -d /usr/local/
22
24
  sudo chmod -R 777 /usr/local/bin/protoc /usr/local/include/google
23
25
  ) >/dev/null 2>&1
@@ -55,6 +55,7 @@ read_env() {
55
55
  fail_fast="${fail_fast:-${FAIL_FAST:-false}}"
56
56
  [[ -z "${ImageOS}" && -z "${ImageVersion}" || -n ${ACT} ]] && _runner=self-hosted || _runner=github
57
57
  runner="${runner:-${RUNNER:-$_runner}}"
58
+ tool_path_dir="${tools_dir:-${TOOLS_DIR:-/usr/local/bin}}"
58
59
 
59
60
  if [[ "$runner" = "github" && $_runner = "self-hosted" ]]; then
60
61
  fail_fast=true
@@ -75,6 +76,33 @@ read_env() {
75
76
  export runner
76
77
  export update
77
78
  export ts
79
+ export tools_dir_path
80
+ }
81
+
82
+ # Function to create a lock.
83
+ acquire_lock() {
84
+ lock_path="$1"
85
+ while true; do
86
+ if sudo mkdir "$lock_path" 2>/dev/null; then
87
+ echo $$ | sudo tee "$lock_path/pid" >/dev/null
88
+ return 0
89
+ else
90
+ if sudo test -f "$lock_path/pid"; then
91
+ lock_pid=$(sudo cat "$lock_path/pid")
92
+ if ! ps -p "$lock_pid" >/dev/null 2>&1; then
93
+ sudo rm -rf "$lock_path"
94
+ continue
95
+ fi
96
+ fi
97
+ sleep 1
98
+ fi
99
+ done
100
+ }
101
+
102
+ # Function to release the lock.
103
+ release_lock() {
104
+ lock_path="$1"
105
+ sudo rm -rf "$lock_path"
78
106
  }
79
107
 
80
108
  # Function to download a file using cURL.
@@ -89,23 +117,23 @@ get() {
89
117
  if [ "$mode" = "-s" ]; then
90
118
  sudo curl "${curl_opts[@]}" "${links[0]}"
91
119
  else
92
- lock_path="$file_path.lock"
93
- until sudo mkdir "$lock_path" 2>/dev/null; do
94
- sleep 1
95
- done
96
- if [ "$execute" = "-e" ]; then
97
- until [ -z "$(fuser "$file_path" 2>/dev/null)" ]; do
98
- sleep 1
99
- done
120
+ if [ "$runner" = "self-hosted" ]; then
121
+ lock_path="$file_path.lock"
122
+ acquire_lock "$lock_path"
123
+ if [ "$execute" = "-e" ]; then
124
+ until [ -z "$(fuser "$file_path" 2>/dev/null)" ]; do
125
+ sleep 1
126
+ done
127
+ fi
128
+ trap 'release_lock "$lock_path"' EXIT SIGINT SIGTERM
100
129
  fi
101
- trap 'sudo rm -rf "$lock_path"' EXIT SIGINT SIGTERM
102
130
  for link in "${links[@]}"; do
103
131
  status_code=$(sudo curl -w "%{http_code}" -o "$file_path" "${curl_opts[@]}" "$link")
104
132
  [ "$status_code" = "200" ] && break
105
133
  done
106
134
  [ "$execute" = "-e" ] && sudo chmod a+x "$file_path"
107
135
  [ "$mode" = "-v" ] && echo "$status_code"
108
- sudo rm -rf "$lock_path" >/dev/null 2>&1 || true
136
+ [ "$runner" = "self-hosted" ] && release_lock "$lock_path"
109
137
  fi
110
138
  }
111
139
 
package/src/tools.ts CHANGED
@@ -422,6 +422,9 @@ export async function addPHPUnitTools(data: RS): Promise<string> {
422
422
  'latest';
423
423
  }
424
424
  data['url'] = await getPharUrl(data);
425
+ if (data['url'].match(/-\d+/)) {
426
+ data['url'] += ',' + data['url'].replace(/-(\d+)\.\d+\.\d+/, '-$1');
427
+ }
425
428
  return await addArchive(data);
426
429
  }
427
430