Skip to content

Commit 0defd5e

Browse files
committed
Merge branch 'trunk' into fix/lookup-path-not-following-symlink-mounts
2 parents ae7033b + 335e8ca commit 0defd5e

File tree

167 files changed

+8254
-8175
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+8254
-8175
lines changed

.github/workflows/refresh-wordpress-major-and-beta.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,8 @@ jobs:
3434
with:
3535
ref: ${{ github.event.pull_request.head.ref }}
3636
clean: true
37-
persist-credentials: true
37+
persist-credentials: false
3838
submodules: true
39-
- name: 'Install bun'
40-
run: |
41-
curl -fsSL https://bun.sh/install | bash
4239
- uses: ./.github/actions/prepare-playground
4340
with:
4441
node-version: 23
@@ -47,7 +44,7 @@ jobs:
4744
shell: bash
4845
env:
4946
FORCE_REBUILD: ${{ github.event.inputs.force_rebuild }}
50-
run: PATH="${PATH}:${HOME}/.bun/bin" npx nx bundle-wordpress:major-and-beta playground-wordpress-builds
47+
run: npx nx bundle-wordpress:major-and-beta playground-wordpress-builds
5148
- name: Check for uncommitted changes
5249
id: changes
5350
run: |
@@ -66,6 +63,7 @@ jobs:
6663
sudo chown -R "$(whoami):$(id -gn)" packages/playground/wordpress-builds/public
6764
git config --global user.name "deployment_bot"
6865
git config --global user.email "[email protected]"
66+
git remote set-url origin https://${{ secrets.GH_ACTOR }}:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}
6967
git add -A
7068
git commit -a -m "Recompile WordPress major and beta versions"
7169
git pull --rebase
@@ -77,7 +75,5 @@ jobs:
7775
if: steps.changes.outputs.COMMIT_CHANGES == '1'
7876
uses: benc-uk/workflow-dispatch@v1
7977
with:
80-
# TODO: Switch back to build-website.yml before merging to public repo
81-
#workflow: build-website.yml
82-
workflow: deploy-private-website.yml
78+
workflow: build-website.yml
8379
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/refresh-wordpress-nightly.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,19 @@ jobs:
2727
with:
2828
ref: ${{ github.event.pull_request.head.ref }}
2929
clean: true
30-
persist-credentials: true
30+
persist-credentials: false
3131
submodules: true
3232
- uses: ./.github/actions/prepare-playground
3333
with:
3434
node-version: 23
35-
- name: 'Install bun'
36-
run: |
37-
curl -fsSL https://bun.sh/install | bash
3835
- name: 'Recompile WordPress'
3936
shell: bash
40-
run: PATH="${PATH}:${HOME}/.bun/bin" npx nx bundle-wordpress:nightly playground-wordpress-builds
37+
run: npx nx bundle-wordpress:nightly playground-wordpress-builds
4138
- name: Config git user
4239
run: |
4340
git config --global user.name "deployment_bot"
4441
git config --global user.email "[email protected]"
42+
git remote set-url origin https://${{ secrets.GH_ACTOR }}:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}
4543
git add -A
4644
git commit -a -m "Refresh WordPress Nightly"
4745
git pull --rebase

.github/workflows/update-changelog.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
submodules: recursive
4444
ref: trunk
4545
clean: true
46-
persist-credentials: true
46+
persist-credentials: false
4747
- name: 'Install bun (for the changelog)'
4848
run: |
4949
curl -fsSL https://bun.sh/install | bash
@@ -61,6 +61,7 @@ jobs:
6161
run: |
6262
git config --global user.name "deployment_bot"
6363
git config --global user.email "[email protected]"
64+
git remote set-url origin https://${{ secrets.GH_ACTOR }}:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}
6465
if [[ -n $(git status --porcelain CHANGELOG.md) ]]; then
6566
git commit -m "chore: update changelog" \
6667
CHANGELOG.md \

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,42 @@ All notable changes to this project are documented in this file by a CI job
44
that runs on every NPM release. The file follows the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
55
format.
66

7+
## [v1.2.2] (2025-07-14)
8+
9+
### Enhancements
10+
11+
- Add --internal-cookie-store option for Playground CLI. ([#2323](https://github.com/WordPress/wordpress-playground/pull/2323))
12+
13+
### Tools
14+
15+
#### PHP WebAssembly
16+
17+
- [ php-wasm ] Add `xdebug` shared extension to @php-wasm/node ASYNCIFY. ([#2326](https://github.com/WordPress/wordpress-playground/pull/2326))
18+
19+
### Documentation
20+
21+
- Add Japanese translations to Using Blueprints. ([#2330](https://github.com/WordPress/wordpress-playground/pull/2330))
22+
- Add Japanese translations to Blueprint data Format. ([#2340](https://github.com/WordPress/wordpress-playground/pull/2340))
23+
- Adding new videos about WordPress Playground. ([#2348](https://github.com/WordPress/wordpress-playground/pull/2348))
24+
- Translate How to contribute pages to Brazilian Portuguese. ([#2329](https://github.com/WordPress/wordpress-playground/pull/2329))
25+
- Updating Translation Guide. ([#2342](https://github.com/WordPress/wordpress-playground/pull/2342))
26+
- Updating slack channel from #meta-playground to #playground. ([#2345](https://github.com/WordPress/wordpress-playground/pull/2345))
27+
28+
### PHP WebAssembly
29+
30+
- Support multiple workers for NODEFS /wordpress mounts – Asyncify. ([#2317](https://github.com/WordPress/wordpress-playground/pull/2317))
31+
- [PHP] Support non-blocking read streams. ([#2339](https://github.com/WordPress/wordpress-playground/pull/2339))
32+
33+
### Bug Fixes
34+
35+
- Fix: Set an explicit path for docsaurus.config.js. ([#2335](https://github.com/WordPress/wordpress-playground/pull/2335))
36+
37+
### Contributors
38+
39+
The following contributors merged PRs in this release:
40+
41+
@adamziel @brandonpayton @fellyph @mho22 @rollybueno @shimotmk
42+
743
## [v1.0.38] (2025-05-22)
844

945
### Various

packages/docs/site/docs/main/changelog.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,42 @@ All notable changes to this project are documented in this file by a CI job
99
that runs on every NPM release. The file follows the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
1010
format.
1111

12+
## [v1.2.2] (2025-07-14)
13+
14+
### Enhancements
15+
16+
- Add --internal-cookie-store option for Playground CLI. ([#2323](https://github.com/WordPress/wordpress-playground/pull/2323))
17+
18+
### Tools
19+
20+
#### PHP WebAssembly
21+
22+
- [ php-wasm ] Add `xdebug` shared extension to @php-wasm/node ASYNCIFY. ([#2326](https://github.com/WordPress/wordpress-playground/pull/2326))
23+
24+
### Documentation
25+
26+
- Add Japanese translations to Using Blueprints. ([#2330](https://github.com/WordPress/wordpress-playground/pull/2330))
27+
- Add Japanese translations to Blueprint data Format. ([#2340](https://github.com/WordPress/wordpress-playground/pull/2340))
28+
- Adding new videos about WordPress Playground. ([#2348](https://github.com/WordPress/wordpress-playground/pull/2348))
29+
- Translate How to contribute pages to Brazilian Portuguese. ([#2329](https://github.com/WordPress/wordpress-playground/pull/2329))
30+
- Updating Translation Guide. ([#2342](https://github.com/WordPress/wordpress-playground/pull/2342))
31+
- Updating slack channel from #meta-playground to #playground. ([#2345](https://github.com/WordPress/wordpress-playground/pull/2345))
32+
33+
### PHP WebAssembly
34+
35+
- Support multiple workers for NODEFS /wordpress mounts – Asyncify. ([#2317](https://github.com/WordPress/wordpress-playground/pull/2317))
36+
- [PHP] Support non-blocking read streams. ([#2339](https://github.com/WordPress/wordpress-playground/pull/2339))
37+
38+
### Bug Fixes
39+
40+
- Fix: Set an explicit path for docsaurus.config.js. ([#2335](https://github.com/WordPress/wordpress-playground/pull/2335))
41+
42+
### Contributors
43+
44+
The following contributors merged PRs in this release:
45+
46+
@adamziel @brandonpayton @fellyph @mho22 @rollybueno @shimotmk
47+
1248
## [v1.0.38] (2025-05-22)
1349

1450
### Various

packages/php-wasm/cli/src/main.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ async function run() {
3838
throw new Error(`Unsupported PHP version ${phpVersion}`);
3939
}
4040

41+
const hasXdebugOption = args.some((arg) => arg.startsWith('--xdebug'));
42+
if (hasXdebugOption) {
43+
args = args.filter((arg) => arg !== '--xdebug');
44+
}
45+
4146
// npm scripts set the TMPDIR env variable
4247
// PHP accepts a TMPDIR env variable and expects it to
4348
// be a writable directory within the PHP filesystem.
@@ -86,6 +91,7 @@ ${process.argv[0]} ${process.execArgv.join(' ')} ${process.argv[1]}
8691
PATH: `${tempDir}:${envVariables['PATH']}`,
8792
},
8893
},
94+
withXdebug: hasXdebugOption,
8995
})
9096
);
9197

packages/php-wasm/cli/vite.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export default defineConfig({
2727
'util',
2828
'dns',
2929
'ws',
30+
'os',
3031
],
3132
input: 'packages/php-wasm/cli/src/main.ts',
3233
output: {
@@ -45,4 +46,8 @@ export default defineConfig({
4546
include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
4647
reporters: ['default'],
4748
},
49+
50+
define: {
51+
'process.env': 'process.env',
52+
},
4853
});

packages/php-wasm/compile/build.js

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,32 @@ import util from 'util';
33
import fs from 'fs';
44
const rmAsync = util.promisify(fs.rm);
55
import { spawn } from 'child_process';
6-
import { phpVersions } from '../supported-php-versions.mjs';
6+
import { phpVersions, lastRefreshed } from '../supported-php-versions.mjs';
7+
8+
// Refresh PHP versions if they need updating (if last refreshed more than 24 hours ago)
9+
const twentyFourHoursAgo = new Date(Date.now() - 24 * 60 * 60 * 1000);
10+
const lastRefreshedDate = new Date(lastRefreshed);
11+
12+
if (lastRefreshedDate < twentyFourHoursAgo) {
13+
console.log(
14+
'📅 PHP versions data is older than 24 hours, checking for updates...'
15+
);
16+
try {
17+
const { updatePHPVersions } = await import('./update-php-versions.mjs');
18+
await updatePHPVersions();
19+
20+
// Reload the supported-php-versions.mjs module to get the updated versions
21+
const { phpVersions: updatedPhpVersions } = await import(
22+
'../supported-php-versions.mjs?' + Date.now()
23+
);
24+
// Replace the original phpVersions with the updated ones
25+
phpVersions.length = 0;
26+
phpVersions.push(...updatedPhpVersions);
27+
} catch (error) {
28+
console.warn('⚠️ Failed to update PHP versions:', error.message);
29+
process.exit(1);
30+
}
31+
}
732

833
// yargs parse
934
import yargs from 'yargs';

packages/php-wasm/compile/php/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,7 @@ RUN export ASYNCIFY_IMPORTS=$'[\n\
745745
"Curl_is_connected",\
746746
"curl_multi_perform",\
747747
"curl_multi_poll",\
748+
"curl_multi_wait",\
748749
"Curl_multi_wait",\
749750
"Curl_ossl_connect_nonblocking",\
750751
"Curl_ossl_seed",\
@@ -966,6 +967,7 @@ RUN export ASYNCIFY_IMPORTS=$'[\n\
966967
"wasm_php_exec",\
967968
"wasm_sapi_handle_request",\
968969
"wasm_sapi_request_shutdown",\
970+
"execute_internal",\
969971
"_call_user_function_ex",\
970972
"_call_user_function_impl",\
971973
"_mysqlnd_run_command",\
@@ -1627,6 +1629,7 @@ RUN export ASYNCIFY_IMPORTS=$'[\n\
16271629
"ZEND_DO_ICALL_SPEC_HANDLER",\
16281630
"ZEND_DO_ICALL_SPEC_RETVAL_UNUSED_HANDLER",\
16291631
"ZEND_DO_ICALL_SPEC_RETVAL_USED_HANDLER",\
1632+
"ZEND_DO_ICALL_SPEC_OBSERVER_HANDLER",\
16301633
"ZEND_DO_UCALL_SPEC_OBSERVER_HANDLER",\
16311634
"zend_emit_op_tmp",\
16321635
"zend_emit_op",\
@@ -1682,6 +1685,7 @@ RUN export ASYNCIFY_IMPORTS=$'[\n\
16821685
"zend_hash_graceful_reverse_destroy",\
16831686
"zend_hash_reverse_apply",\
16841687
"ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER",\
1688+
"ZEND_INCLUDE_OR_EVAL_SPEC_OBSERVER_HANDLER",\
16851689
"zend_include_or_eval",\
16861690
"compile_filename",\
16871691
"zend_internal_type_error",\
@@ -1824,6 +1828,9 @@ RUN export ASYNCIFY_IMPORTS=$'[\n\
18241828
"zend_use_undef_in_read_context_helper_SPEC",\
18251829
"zend_user_it_get_current_data",\
18261830
"zend_user_it_get_new_iterator",\
1831+
"ZEND_USER_OPCODE_SPEC_HANDLER",\
1832+
"ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER",\
1833+
"ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HANDLER",\
18271834
"zend_value_error",\
18281835
"zend_verify_ref_array_assignable",\
18291836
"zend_vm_stack_extend",\

0 commit comments

Comments
 (0)