This commit introduces a mechanism to use the setup-php scripts for configuring PHP environments on local Linux/Ubuntu machines.
Key changes:
- Added `src/local_installer.ts`: A Node.js script that takes command-line arguments to define the desired PHP setup (version, extensions, tools, INI settings) and generates a `run.sh` script.
- Added `src/local_utils.ts`: A utility module with functions adapted for local execution, removing dependencies on `@actions/core`. It supports fetching inputs from yargs/environment variables.
- Modified `src/fetch.ts`: Replaced `@actions/http-client` with `node-fetch` for compatibility.
- Updated `src/config.ts`, `src/coverage.ts`, `src/extensions.ts`, and `src/tools.ts` to import utilities from `local_utils.ts` instead of `utils.ts`.
- Added `LOCAL_SETUP_INSTRUCTIONS.md`: Comprehensive documentation on prerequisites, how to run the local installer, command-line options, and troubleshooting.
This allows users to leverage the robust PHP environment configuration capabilities of this project directly on their development machines.
Add support for APCu on macOS from shivammathur/homebrew-extensions
Improve support for geos to compile on PHP 8.0 and 8.1
Fix pecl setup to avoid unnecessary callbacks
Use GitHub releases for all couchbase versions
Use add_extension_from_source for all custom supported extensions
Remove bintray and use shivammathur/intl-icu releases
Add patch for protobuf for installing from source
Move patches from custom extension scripts to patches directory
Add support to build extension from GitHub and pecl tar archives (Internal API)
Refactor regex in extension.ts
Move add_pecl_extension to common.sh
Refactor remove_extension in darwin.sh
Fix shellcheck warning in darwin.sh
Improve switch_version in linux.sh to accept parameters