diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 16103ce..53cb872 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -40,6 +40,20 @@ jobs: database: postgresql profile: --profile moodle45 service: ci-moodle45 + - moodle: "5.0.9" + moodle_id: moodle50 + php: "8.2.33" + php_image: moodlehq/moodle-php-apache:8.2@sha256:3dae569f65e4ba1d2a413ea261d1dca72643bfa08a1e28a3d104a4024c4f040c + database: postgresql + profile: --profile moodle50 + service: ci-moodle50 + - moodle: "5.1.6" + moodle_id: moodle51 + php: "8.2.33" + php_image: moodlehq/moodle-php-apache:8.2@sha256:3dae569f65e4ba1d2a413ea261d1dca72643bfa08a1e28a3d104a4024c4f040c + database: postgresql + profile: --profile moodle51 + service: ci-moodle51 env: COMPOSE_PROJECT_NAME: local_webhooks_${{ gitea.run_id }}_${{ gitea.run_attempt }}_${{ matrix.moodle_id }}_${{ matrix.database }} steps: diff --git a/README.md b/README.md index fcda76a..e7d92aa 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,13 @@ The `develop` branch is unreleased modernization work toward `6.0.0` and is not ## Current CI baseline -Gitea Actions currently runs three blocking compatibility checks: +Gitea Actions currently runs five blocking compatibility checks: - Moodle `5.2.2` on PHP `8.4` with PostgreSQL `16`; - Moodle `5.2.2` on PHP `8.4` with MySQL `8.4`; -- Moodle `4.5.13` LTS on PHP `8.1.34` with PostgreSQL `16`. +- Moodle `4.5.13` LTS on PHP `8.1.34` with PostgreSQL `16`; +- Moodle `5.0.9` on PHP `8.2.33` with PostgreSQL `16`; +- Moodle `5.1.6` on PHP `8.2.33` with PostgreSQL `16`. This is an incremental development baseline, not the final support matrix. @@ -47,6 +49,24 @@ docker compose --profile moodle45 up --abort-on-container-exit --exit-code-from docker compose --profile moodle45 down --volumes --remove-orphans --rmi local ``` +Moodle 5.0 with PostgreSQL: + +```bash +export COMPOSE_PROJECT_NAME=local_webhooks_local_moodle50_postgresql +docker compose --profile moodle50 build --pull ci-moodle50 +docker compose --profile moodle50 up --abort-on-container-exit --exit-code-from ci-moodle50 ci-moodle50 +docker compose --profile moodle50 down --volumes --remove-orphans --rmi local +``` + +Moodle 5.1 with PostgreSQL: + +```bash +export COMPOSE_PROJECT_NAME=local_webhooks_local_moodle51_postgresql +docker compose --profile moodle51 build --pull ci-moodle51 +docker compose --profile moodle51 up --abort-on-container-exit --exit-code-from ci-moodle51 ci-moodle51 +docker compose --profile moodle51 down --volumes --remove-orphans --rmi local +``` + ## License [GNU GPLv3](LICENSE.txt). Copyright (c) [Valentin Popov](mailto:info@valentineus.link). diff --git a/compose.yaml b/compose.yaml index f1c6dff..9303a52 100644 --- a/compose.yaml +++ b/compose.yaml @@ -13,6 +13,11 @@ x-ci: &ci moodle-plugin-ci --version moodle-plugin-ci install --plugin /plugin --branch "$$MOODLE_BRANCH" --db-host "$$DB_HOST" test "$$(git -C /workspace/moodle rev-parse HEAD)" = "$$MOODLE_COMMIT" + moodle_root=/workspace/moodle + moodle_wwwroot="$$moodle_root/$$MOODLE_WWWROOT" + test -f "$$moodle_wwwroot/version.php" + test -d "$$moodle_wwwroot/local/webhooks" + test "$$MOODLE_WWWROOT" != public || test ! -e "$$moodle_root/version.php" moodle-plugin-ci phplint moodle-plugin-ci phpcs --max-warnings 0 moodle-plugin-ci phpdoc --max-warnings 0 @@ -59,6 +64,7 @@ services: DB_USER: postgres MOODLE_BRANCH: v5.2.2 MOODLE_COMMIT: acfa383c13dd46c83ca82894a8e95fac273fda33 + MOODLE_WWWROOT: public NPM_CONFIG_FETCH_RETRIES: 5 ci-mysql: @@ -75,6 +81,7 @@ services: DB_USER: root MOODLE_BRANCH: v5.2.2 MOODLE_COMMIT: acfa383c13dd46c83ca82894a8e95fac273fda33 + MOODLE_WWWROOT: public NPM_CONFIG_FETCH_RETRIES: 5 ci-moodle45: @@ -95,4 +102,47 @@ services: DB_USER: postgres MOODLE_BRANCH: v4.5.13 MOODLE_COMMIT: 8cbae18a2898cfd8266ec91ac206e12004f0ff5f + MOODLE_WWWROOT: . + NPM_CONFIG_FETCH_RETRIES: 5 + + ci-moodle50: + <<: *ci + profiles: + - moodle50 + build: + context: . + dockerfile: .docker/ci/Dockerfile + args: + PHP_IMAGE: moodlehq/moodle-php-apache:8.2@sha256:3dae569f65e4ba1d2a413ea261d1dca72643bfa08a1e28a3d104a4024c4f040c + depends_on: + postgres: + condition: service_healthy + environment: + DB: pgsql + DB_HOST: postgres + DB_USER: postgres + MOODLE_BRANCH: v5.0.9 + MOODLE_COMMIT: 152bf2ebbdd1f994331af21c80332b8d9051581c + MOODLE_WWWROOT: . + NPM_CONFIG_FETCH_RETRIES: 5 + + ci-moodle51: + <<: *ci + profiles: + - moodle51 + build: + context: . + dockerfile: .docker/ci/Dockerfile + args: + PHP_IMAGE: moodlehq/moodle-php-apache:8.2@sha256:3dae569f65e4ba1d2a413ea261d1dca72643bfa08a1e28a3d104a4024c4f040c + depends_on: + postgres: + condition: service_healthy + environment: + DB: pgsql + DB_HOST: postgres + DB_USER: postgres + MOODLE_BRANCH: v5.1.6 + MOODLE_COMMIT: 17513f6614237b530de7903fe32117fa026384c2 + MOODLE_WWWROOT: public NPM_CONFIG_FETCH_RETRIES: 5