@@ -115,45 +115,23 @@ jobs:
115115 # Write a custom composer.json for PHP 8.2 to handle specific requirements
116116 if [[ "$PHP_VERSION" == "8.2" ]]; then
117117 echo "::notice::Using PHP 8.2, creating specialized composer configuration"
118- cat > composer.json.php82 << 'EOL'
119- {
120- " name " : " enginescript/simple-wp-optimizer" ,
121- " description " : " Simple WP Optimizer - A lightweight WordPress optimization plugin" ,
122- " type " : " wordpress-plugin" ,
123- " license " : " GPL-2.0-or-later" ,
124- " authors " : [
125- {
126- " name " : " EngineScript" ,
127- 128- }
129- ],
130- " minimum-stability " : " stable" ,
131- " require " : {
132- " php " : " >=7.4"
133- },
134- " require-dev " : {
135- " phpunit/phpunit " : " ^9.5" ,
136- " yoast/phpunit-polyfills " : " ^2.0" ,
137- " wp-coding-standards/wpcs " : " ^2.3" ,
138- " dealerdirect/phpcodesniffer-composer-installer " : " ^0.7.1"
139- },
140- " config " : {
141- " allow-plugins " : {
142- " dealerdirect/phpcodesniffer-composer-installer " : true
143- },
144- " platform " : {
145- " php " : " 8.1.99"
146- }
147- },
148- " scripts " : {
149- " test " : " vendor/bin/phpunit" ,
150- " phpcs " : " vendor/bin/phpcs --standard=WordPress" ,
151- " phpcbf " : " vendor/bin/phpcbf --standard=WordPress"
152- }
153- }
154- EOL
155- # Use the PHP 8.2 specific composer file
156- mv composer.json.php82 composer.json
118+
119+ # Start with a copy of the existing composer.json
120+ cp composer.json composer.json.original
121+
122+ # Update dependencies for PHP 8.2 compatibility
123+ jq '.["require-dev"]["phpunit/phpunit"] = "^9.5"' composer.json.original > composer.json.tmp
124+ jq '.["require-dev"]["yoast/phpunit-polyfills"] = "^2.0"' composer.json.tmp > composer.json.tmp2
125+
126+ # Set platform config
127+ jq '.config.platform.php = "8.1.99"' composer.json.tmp2 > composer.json.tmp3
128+
129+ # Add PHP 8 specific test script
130+ jq '.scripts["test:php8"] = "php run-phpunit.php"' composer.json.tmp3 > composer.json
131+
132+ # Clean up tmp files
133+ rm -f composer.json.tmp*
134+ rm -f composer.json.original
157135 fi
158136
159137 # Install dependencies based on PHP version
0 commit comments