x-ci: &ci build: context: . dockerfile: .docker/ci/Dockerfile command: - /bin/bash - -lc - | set -euo pipefail php --version composer --version node --version 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-plugin-ci phplint moodle-plugin-ci phpcs --max-warnings 0 moodle-plugin-ci phpdoc --max-warnings 0 moodle-plugin-ci validate moodle-plugin-ci savepoints moodle-plugin-ci phpunit --fail-on-warning services: postgres: image: postgres:16.13-alpine3.22@sha256:caf536ebd910e85473a9f5e2fd1aea360c965c4a911c8555ac1f61b2102006cb environment: POSTGRES_HOST_AUTH_METHOD: trust POSTGRES_USER: postgres healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 2s timeout: 5s retries: 15 tmpfs: - /var/lib/postgresql/data mysql: profiles: - mysql image: mysql:8.4.11@sha256:b3b90af2a6552ae30c266fdb7d5dd55f3afb72404bb78d37fe8a23eb857fd3fb environment: MYSQL_ROOT_PASSWORD: moodle_ci healthcheck: test: ["CMD-SHELL", "mysql --protocol=TCP --host=127.0.0.1 --user=root --password=$$MYSQL_ROOT_PASSWORD --execute='SELECT 1' --silent"] interval: 2s timeout: 5s retries: 30 tmpfs: - /var/lib/mysql ci: <<: *ci depends_on: postgres: condition: service_healthy environment: DB: pgsql DB_HOST: postgres DB_USER: postgres MOODLE_BRANCH: v5.2.2 MOODLE_COMMIT: acfa383c13dd46c83ca82894a8e95fac273fda33 NPM_CONFIG_FETCH_RETRIES: 5 ci-mysql: <<: *ci profiles: - mysql depends_on: mysql: condition: service_healthy environment: DB: mysqli DB_HOST: mysql DB_PASS: moodle_ci DB_USER: root MOODLE_BRANCH: v5.2.2 MOODLE_COMMIT: acfa383c13dd46c83ca82894a8e95fac273fda33 NPM_CONFIG_FETCH_RETRIES: 5 ci-moodle45: <<: *ci profiles: - moodle45 build: context: . dockerfile: .docker/ci/Dockerfile args: PHP_IMAGE: moodlehq/moodle-php-apache:8.1@sha256:13be2641be8883e79fd1e97374d0df759d80c81cce8331f3e85035923b7f4576 depends_on: postgres: condition: service_healthy environment: DB: pgsql DB_HOST: postgres DB_USER: postgres MOODLE_BRANCH: v4.5.13 MOODLE_COMMIT: 8cbae18a2898cfd8266ec91ac206e12004f0ff5f NPM_CONFIG_FETCH_RETRIES: 5