Update versions in matrix - #288
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the GitHub Actions CI matrix to run the plugin test suite against newer Moodle branches while standardizing on PHP 8.3 across all jobs.
Changes:
- Switched CI coverage from
MOODLE_405_STABLE-only to includemainandMOODLE_502_STABLE. - Removed PHP 8.1 and 8.2 jobs; all matrix entries now run on PHP 8.3.
- Added explicit
database: mariadb/pgsqlentries for the newmainbranch runs.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Moodle 4.5 officially supports PHP 8.1 so dropping it from CI means we're not aligned to the minimum requirements.... not sure if that's a problem, just wanted to make sure it was a conscious decision. |
|
minimum requirements are meant to be read in conjunction with the relevant EOL policies PHP8.1 is EOL https://www.php.net/supported-versions.php so yes it was a conscious decision |
a0582c9 to
5c0d82f
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
Suppressed comments (1)
.github/workflows/moodle-ci.yml:23
- Same issue as the Postgres service: when matrix.database != 'mariadb' this evaluates to an empty string, leaving the service with no image and potentially breaking workflow parsing/runtime. Use a concrete image (or separate jobs per database) instead of an empty image string.
image: ${{ matrix.database == 'mariadb' && 'mariadb:11' || '' }}
| services: | ||
| postgres: | ||
| image: postgres:15 | ||
| image: ${{ matrix.database == 'pgsql' && 'postgres:17' || '' }} |
| if: ${{ failure() && steps.behat.outcome == 'failure' }} | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: Behat Faildump (${{ join(matrix.*, ', ') }}) |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Suppressed comments (2)
.github/workflows/moodle-ci.yml:15
services.postgres.imageresolves to an empty string for non-PostgreSQL matrix entries, which will make the workflow fail when GitHub Actions tries to start the service (invalid/empty Docker image reference). Define a valid image unconditionally (or split into separate jobs per DB type).
postgres:
image: ${{ matrix.database == 'pgsql' && 'postgres:17' || '' }}
env:
.github/workflows/moodle-ci.yml:7
- The workflow sets
permissionsto onlycontents: read, which can prevent later steps (notablyactions/upload-artifact) from working because unspecified permissions becomenone. Add the minimal required permission for artifact upload (typicallyactions: write).
permissions:
contents: read
| mariadb: | ||
| image: mariadb:10 | ||
| image: ${{ matrix.database == 'mariadb' && 'mariadb:11' || '' }} | ||
| env: |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
.github/workflows/moodle-ci.yml:15
- GitHub Actions service
imagecannot be an empty string; whenmatrix.databaseis notpgsqlthis expression resolves to'', which will make the workflow invalid or fail when starting services. Services can’t be conditionally omitted this way.
postgres:
image: ${{ matrix.database == 'pgsql' && 'postgres:17' || '' }}
env:
.github/workflows/moodle-ci.yml:24
- Same issue as postgres: when
matrix.databaseis notmariadbthe serviceimagebecomes'', which is not a valid container image value for a GitHub Actions service.
mariadb:
image: ${{ matrix.database == 'mariadb' && 'mariadb:11' || '' }}
env:
.github/workflows/moodle-ci.yml:137
join(matrix.*, ', ')is not valid in GitHub Actions expressions (there is nomatrix.*wildcard). This will cause workflow evaluation to fail when naming the artifact. Use an explicit name composed from the known matrix keys instead.
with:
name: Behat Faildump (${{ join(matrix.*, ', ') }})
path: ${{ github.workspace }}/moodledata/behat_dump
| with: | ||
| php-version: ${{ matrix.php }} | ||
| extensions: ${{ matrix.extensions }} | ||
| ini-values: max_input_vars=5000 | ||
| ini-values: max_input_vars=5000, opcache.enable_cli=1 |
No description provided.