Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
25c36f9
Add Moodle 5.1 and 5.2 compatibility
claude May 15, 2026
b66a62a
Remove CI testing for Moodle versions before 4.5
claude May 15, 2026
7203622
Fix stale thirdpartylibs.xml breaking grunt ignorefiles
claude May 15, 2026
bdc3aef
Raise CI main jobs to PHP 8.3
claude May 15, 2026
ff572e0
Bump CI PostgreSQL service to 16 for Moodle 5.2
claude May 15, 2026
cbc123e
Reformat plugin source to pass bundled Moodle CS v3.7.0
claude May 15, 2026
8847585
Fix data provider keys for PHPUnit 11 (Moodle 5.0+)
claude May 15, 2026
9f80dbb
Merge pull request #1 from verzog/claude/upgrade-moodle-5.1-5.2-8DCBi
verzog May 15, 2026
0273b71
Point CI badge at this fork instead of upstream
claude May 15, 2026
bd1be86
Merge pull request #2 from verzog/claude/fix-codechecker-badge-AL3JW
verzog May 15, 2026
635a6e6
Process check submission in-place to avoid WAF 403
claude May 15, 2026
937eda5
Bump to 5.2.1 (2026051501)
claude May 15, 2026
505ad17
Merge pull request #3 from verzog/claude/fix-codechecker-badge-AL3JW
verzog May 15, 2026
70b24ae
Submit check form to index.php, not the bare directory (5.2.2)
claude May 15, 2026
3231781
Merge pull request #4 from verzog/claude/fix-codechecker-badge-AL3JW
verzog May 15, 2026
b5db415
Add worked path examples to the check form help (5.2.3)
claude May 15, 2026
5f8563b
Clarify 5.2.1 changelog: WAF was initial diagnosis, 5.2.2 is the fix
claude May 15, 2026
eb2da89
Merge pull request #5 from verzog/claude/fix-codechecker-badge-AL3JW
verzog May 15, 2026
7214239
Add CLAUDE.md compiled from suite-wide PR history
claude Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 18 additions & 31 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@ name: Codechecker CI

on: [push, pull_request]

env:
TZ: Australia/Sydney

jobs:
test:
runs-on: ubuntu-22.04

services:
postgres:
image: postgres:15
image: postgres:16
env:
POSTGRES_USER: 'postgres'
POSTGRES_HOST_AUTH_METHOD: 'trust'
Expand All @@ -35,56 +38,40 @@ jobs:
- php: 8.3
moodle-branch: main
database: mariadb
- php: 8.4
moodle-branch: MOODLE_502_STABLE
database: pgsql
- php: 8.4
moodle-branch: MOODLE_501_STABLE
database: pgsql
- php: 8.3
moodle-branch: MOODLE_500_STABLE
database: pgsql
- php: 8.3
moodle-branch: MOODLE_405_STABLE
database: pgsql
- php: 8.3
moodle-branch: MOODLE_404_STABLE
database: pgsql

- php: 8.2
moodle-branch: MOODLE_403_STABLE
database: pgsql
- php: 8.2
moodle-branch: MOODLE_402_STABLE
database: pgsql

- php: 8.1
moodle-branch: MOODLE_401_STABLE
database: pgsql


# Lowest php versions supported by each branch (with main always being tested twice).
- php: 8.2
- php: 8.3
moodle-branch: main
database: pgsql
- php: 8.2
- php: 8.3
moodle-branch: main
database: mariadb
- php: 8.3
moodle-branch: MOODLE_502_STABLE
database: pgsql
- php: 8.2
moodle-branch: MOODLE_501_STABLE
database: pgsql
- php: 8.2
moodle-branch: MOODLE_500_STABLE
database: pgsql

- php: 8.1
moodle-branch: MOODLE_405_STABLE
database: pgsql
- php: 8.1
moodle-branch: MOODLE_404_STABLE
database: pgsql

- php: 8.0
moodle-branch: MOODLE_403_STABLE
database: pgsql
- php: 8.0
moodle-branch: MOODLE_402_STABLE
database: pgsql

- php: 7.4
moodle-branch: MOODLE_401_STABLE
database: pgsql
steps:
- name: Check out repository code
uses: actions/checkout@v4
Expand Down
57 changes: 57 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,60 @@
Changes in version 5.2.3 (20260515) - Worked examples
-------------------------------------------------------
- Expanded the on-screen path help with worked examples covering a
plugin, a subplugin (e.g. the tiny_bootstrap TinyMCE editor plugin),
an activity module and a single file, and clarified that a component
name maps to its directory.

Changes in version 5.2.2 (20260515) - Mind the group
-------------------------------------------------------
- Submit the web check form to the explicit /local/codechecker/index.php
endpoint instead of the bare /local/codechecker/ directory URL. The
plugin already registers and loads the page as index.php, so posting
to the directory forced the web server to resolve the directory index
on a different, stricter-permission code path - returning a bare 403
Forbidden on "Check" (while the page itself loaded fine) whenever the
plugin directory was not traversable by the web server user. The form
now uses the same endpoint as the rest of the plugin, so it no longer
depends on server-side directory permissions.
- Documented the related file-permission guidance in the README.

Changes in version 5.2.1 (20260515) - Forbidden no more
-------------------------------------------------------
- Process the web check submission in-place instead of doing a
Post/Redirect/Get. The PRG redirect placed the filesystem path in the
URL query string, which nginx LFI/path-traversal WAF rules (e.g.
YunoHost defaults) reject with a 403 before the request reaches
Moodle. The path now stays in the POST body; a GET fallback is kept
for direct links.
- Pointed the README CI badge at this repository instead of the
upstream moodlehq one, so forks show their own pipeline status.
- Note: the WAF/query-string explanation above was the initial
diagnosis. The 403 was later traced to the form posting to the bare
directory URL on a stricter web-server permission path; the
definitive fix is in 5.2.2. This change is retained as a sensible
improvement but was not the actual cure.

Changes in version 5.2.0 (20260515) - G'day, 5.2
-------------------------------------------------------
- Confirmed compatibility with Moodle 5.1 and 5.2.
- Fixed the find_other_files test data provider keys (notmatches ->
nomatches) so the tests pass under PHPUnit 11 (Moodle 5.0+), which
maps associative data-provider keys to named parameters.
- Reformatted the plugin's own source to pass the bundled Moodle CS
v3.7.0 standard (phpcbf, formatting only - no behaviour change).
- Added GitHub Actions CI coverage for Moodle 5.1 (MOODLE_501_STABLE,
PHP 8.2 to 8.4) and Moodle 5.2 (MOODLE_502_STABLE, PHP 8.3 to 8.4).
- Fixed thirdpartylibs.xml: removed the stale PHPCompatibility entry (the
library was unbundled in 5.1.0) that broke the grunt ignorefiles task,
and synced the remaining versions with composer.lock.
- Bumped the CI PostgreSQL service to 16, required by Moodle 5.2 and main.
- Raised the CI main-branch jobs to PHP 8.3 (Moodle main now requires
PHP 8.3.0 and no longer composer-installs on 8.2).
- Removed CI testing for Moodle versions before 4.5 (4.1 to 4.4).
- Added the Australia/Sydney timezone to the CI environment.
- Bundled the Moodle CS v3.7.0 coding style rule sets
(https://github.com/moodlehq/moodle-cs).

Changes in version 5.1.0 (20251202) - No longer compatible
-------------------------------------------------------
- Bundled dependencies updated:
Expand Down
Loading
Loading