Skip to content

Stage PHP 8.4 and latest promotion for Moodle 5.3 LTS - #172

Merged
erseco merged 14 commits into
mainfrom
feature/moodle-53-default-runtime
Oct 3, 2026
Merged

erseco merged 14 commits into
mainfrom
feature/moodle-53-default-runtime

Conversation

@erseco

@erseco erseco commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

Switch default local/development and 5.3+ release builds to PHP 8.4/base 3.23; preserve PHP 8.3/base 3.20 for 4.5 and unsuffixed 5.0–5.2 releases. Restrict latest to the newest upstream 5.3 stable tag. Beta/RC and older versions cannot promote it.

Upstream has now released v5.3.0 and MOODLE_503_STABLE. The CI matrix and the persistent upgrade test are pinned to v5.3.0 (previously RC1).

Related: ateeducacion/moodle-playground#328 adds the same MOODLE_503_STABLE branch to the browser playground.

Validation (local, 2026-10-03, arm64, MOODLE_VERSION=v5.3.0, PHP 8.4, base 3.23)

  • v5.3.0 + PostgreSQL 17: PASS (install, HTTP, Moosh, status checks incl. core_router, code sync, restart)
  • v5.3.0 + MariaDB 11.4: PASS (same suite)
  • v5.3.0 + SQLite (fork patch MDL-88218: Add experimental SQLite support for Moodle WASM environments (5.3) ateeducacion/moodle#7): PASS (same suite plus the SQLite DB file check)
  • Persistent upgrade 4.5.14/PHP 8.3 → 5.3.0/PHP 8.4 on PostgreSQL 17: PASS (course, data file and custom plugin preserved; cron and restart)
  • Shell unit suites (image-runtime, promote-latest, release-policy, sync-moodle-code, verify-moodle-version): PASS
  • actionlint and git diff --check: PASS

The v5.3.0 environment.xml keeps the beta's minimums: PostgreSQL 17, MariaDB 11.4.0, MySQL 8.4.

Still pending

Base automatically changed from feature/moodle-53-readiness to main September 16, 2026 14:53
@erseco
erseco changed the base branch from main to hotfix/serialize-latest-promotion September 16, 2026 14:56
@erseco

erseco commented Sep 16, 2026

Copy link
Copy Markdown
Owner Author

Updated after merging #170 and #171: integrated the Hadolint fix and #173 serialized latest promotion. This draft now depends on #173; stable 5.3 selection changes the single shared policy, with promotion tests explicitly rejecting late 5.2 builds. All local shell suites and changed-script ShellCheck pass. Remains draft until Moodle 5.3 final and the documented release gates pass.

Base automatically changed from hotfix/serialize-latest-promotion to main September 16, 2026 15:03
@erseco

erseco commented Sep 16, 2026

Copy link
Copy Markdown
Owner Author

Merged current main after #173 was merged and retargeted this draft to main. Added explicit beta1/beta2/rc2/rc10 regressions covering PHP selection, latest exclusion, exact release matching and rejection of stale prereleases. All local shell suites and changed-script ShellCheck pass (16 runtime, 15 release-policy, 19 version checks plus sync/promotion suites). docs/moodle-53-promotion.md records the release gate, prerelease handling and exact runtime mapping: 4.5 and unsuffixed 5.0–5.2 retain PHP 8.3; 5.3+ uses PHP 8.4. No promotion before final release tests and staging/backup validation.

erseco and others added 3 commits September 28, 2026 22:59
Upstream released v5.3.0 and MOODLE_503_STABLE. Pin the PHP 8.4 CI
matrix and the persistent 4.5 -> 5.3 upgrade test to the stable tag
instead of RC1, and record the release in the promotion gate.

Related: ateeducacion/moodle-playground#328
@erseco
erseco marked this pull request as ready for review October 3, 2026 12:54
erseco added 3 commits October 3, 2026 14:55
Upstream main moved to 6.0dev without a <MOODLE version="6.0"> block in
environment.xml. Moodle then checks the newest block not above the
running version (5.3), but the SQLite helper only patched an exact
6.0 block, so the CLI installer failed with "Error reading environment
data (10)". Pick the same block Moodle resolves.
ateeducacion/moodle#7 was rebased onto and retargeted to the upstream
5.3 stable branch.
State up front that since v5.3.0 latest is Moodle 5.3 LTS on PHP 8.4,
list the PHP version per image tag, and stop calling the PHP 8.4 page
opt-in now that it is the default.
@erseco
erseco merged commit c9e73c8 into main Oct 3, 2026
23 checks passed
@erseco
erseco deleted the feature/moodle-53-default-runtime branch October 3, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant