99 lines
2.6 KiB
YAML
99 lines
2.6 KiB
YAML
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
|