ci: add Moodle 5.2 Docker checks
This commit is contained in:
@@ -0,0 +1,36 @@
|
|||||||
|
FROM composer:2.10.2@sha256:4d71c3c2109c61d5415544264b59ad4087e4c5b7244481723664138fd36d5040 AS composer
|
||||||
|
|
||||||
|
FROM node:22.23.2-bookworm-slim@sha256:d649c27dae7ba0137b3cef5dd75baa422c08dc3d9e3fc0c23dfb172dc3cc6436 AS node
|
||||||
|
|
||||||
|
FROM moodlehq/moodle-php-apache:8.4@sha256:07cac70e0ed3f96f334ffeece92075b98adfbe4110312a3a9308b95eab8e2080
|
||||||
|
|
||||||
|
ARG MOODLE_PLUGIN_CI_COMMIT=9276f968746960275b12190b4ef8e47b1e6af674
|
||||||
|
ARG MOODLE_PLUGIN_CI_LOCK_SHA256=e5c8ce77b90f43a057ee717c52e856bf81d43387834dab36083a1c1b17a24be4
|
||||||
|
|
||||||
|
COPY --from=composer /usr/bin/composer /usr/local/bin/composer
|
||||||
|
COPY --from=node /usr/local/bin/node /usr/local/bin/node
|
||||||
|
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
|
||||||
|
|
||||||
|
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
|
||||||
|
&& ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends postgresql-client \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& locale-gen en_AU.UTF-8 \
|
||||||
|
&& git init /opt/moodle-plugin-ci \
|
||||||
|
&& git -C /opt/moodle-plugin-ci remote add origin https://github.com/moodlehq/moodle-plugin-ci.git \
|
||||||
|
&& git -C /opt/moodle-plugin-ci fetch --depth 1 origin "${MOODLE_PLUGIN_CI_COMMIT}" \
|
||||||
|
&& git -C /opt/moodle-plugin-ci checkout --detach FETCH_HEAD \
|
||||||
|
&& test "$(git -C /opt/moodle-plugin-ci rev-parse HEAD)" = "${MOODLE_PLUGIN_CI_COMMIT}" \
|
||||||
|
&& echo "${MOODLE_PLUGIN_CI_LOCK_SHA256} /opt/moodle-plugin-ci/composer.lock" | sha256sum --check \
|
||||||
|
&& COMPOSER_ALLOW_SUPERUSER=1 composer install \
|
||||||
|
--working-dir=/opt/moodle-plugin-ci \
|
||||||
|
--no-dev \
|
||||||
|
--no-interaction \
|
||||||
|
--prefer-dist \
|
||||||
|
--classmap-authoritative \
|
||||||
|
&& ln -s /opt/moodle-plugin-ci/bin/moodle-plugin-ci /usr/local/bin/moodle-plugin-ci
|
||||||
|
|
||||||
|
ENV LANG=en_AU.UTF-8
|
||||||
|
|
||||||
|
WORKDIR /workspace
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
name: Moodle Plugin CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- develop
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
COMPOSE_PROJECT_NAME: local_webhooks_${{ gitea.run_id }}_${{ gitea.run_attempt }}
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: https://github.com/actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
|
||||||
|
- name: Build test image
|
||||||
|
run: docker compose build --pull ci
|
||||||
|
|
||||||
|
- name: Test plugin
|
||||||
|
run: docker compose up --abort-on-container-exit --exit-code-from ci
|
||||||
|
|
||||||
|
- name: Clean up
|
||||||
|
if: always()
|
||||||
|
run: docker compose down --volumes --remove-orphans
|
||||||
-76
@@ -1,76 +0,0 @@
|
|||||||
language: php
|
|
||||||
sudo: true
|
|
||||||
|
|
||||||
addons:
|
|
||||||
firefox: "latest-esr"
|
|
||||||
postgresql: "9.6"
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- "oracle-java8-installer"
|
|
||||||
- "oracle-java8-set-default"
|
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- "$HOME/.composer/cache"
|
|
||||||
- "$HOME/.npm"
|
|
||||||
|
|
||||||
php:
|
|
||||||
- 7.0
|
|
||||||
- 7.1
|
|
||||||
- 7.2
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- MOODLE_BRANCH=MOODLE_35_STABLE
|
|
||||||
matrix:
|
|
||||||
- DB=mysqli
|
|
||||||
- DB=pgsql
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- phpenv config-rm xdebug.ini
|
|
||||||
- nvm install 8.9
|
|
||||||
- nvm use 8.9
|
|
||||||
- cd ../..
|
|
||||||
- composer selfupdate
|
|
||||||
- composer create-project -n --no-dev --prefer-dist moodlerooms/moodle-plugin-ci ci ^2
|
|
||||||
- export PATH="$(cd ci/bin; pwd):$(cd ci/vendor/bin; pwd):$PATH"
|
|
||||||
|
|
||||||
install:
|
|
||||||
- moodle-plugin-ci install
|
|
||||||
|
|
||||||
script:
|
|
||||||
- moodle-plugin-ci phplint
|
|
||||||
- moodle-plugin-ci phpcpd
|
|
||||||
- moodle-plugin-ci phpmd
|
|
||||||
- moodle-plugin-ci codechecker
|
|
||||||
- moodle-plugin-ci validate
|
|
||||||
- moodle-plugin-ci savepoints
|
|
||||||
- moodle-plugin-ci mustache
|
|
||||||
- moodle-plugin-ci grunt
|
|
||||||
- moodle-plugin-ci phpunit
|
|
||||||
- moodle-plugin-ci behat
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
include:
|
|
||||||
- stage: test old
|
|
||||||
env: DB=mysqli MOODLE_BRANCH=MOODLE_33_STABLE
|
|
||||||
php: 5.6
|
|
||||||
|
|
||||||
- stage: deploy
|
|
||||||
php: 7.2
|
|
||||||
|
|
||||||
before_deploy:
|
|
||||||
- cd "$TRAVIS_REPO_SLUG"
|
|
||||||
- git stash --all
|
|
||||||
- /bin/sh build.sh
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
api_key: $GITHUB_PROJECT_TOKEN
|
|
||||||
email: "info@valentineus.link"
|
|
||||||
file: "../build/*.zip"
|
|
||||||
file_glob: true
|
|
||||||
provider: releases
|
|
||||||
skip_cleanup: true
|
|
||||||
|
|
||||||
on:
|
|
||||||
tags: true
|
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
ci:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: .docker/ci/Dockerfile
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
DB: pgsql
|
||||||
|
DB_HOST: postgres
|
||||||
|
DB_USER: postgres
|
||||||
|
MOODLE_BRANCH: v5.2.2
|
||||||
|
NPM_CONFIG_FETCH_RETRIES: 5
|
||||||
|
volumes:
|
||||||
|
- .:/plugin:ro
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
- -lc
|
||||||
|
- |
|
||||||
|
set -euo pipefail
|
||||||
|
php --version
|
||||||
|
composer --version
|
||||||
|
node --version
|
||||||
|
moodle-plugin-ci --version
|
||||||
|
moodle-plugin-ci install --plugin /plugin --branch v5.2.2 --db-host postgres
|
||||||
|
test "$$(git -C /workspace/moodle rev-parse HEAD)" = "acfa383c13dd46c83ca82894a8e95fac273fda33"
|
||||||
|
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
|
||||||
Reference in New Issue
Block a user