From b8f3933568b9821a64d1d54bc82c107300a63abe Mon Sep 17 00:00:00 2001 From: Darko Miletic Date: Thu, 30 Mar 2023 11:38:36 -0300 Subject: [PATCH] Adds an example for Gitlab CI Fixes #39 --- .gitlab-ci.yml | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..2977bc91 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,58 @@ + +variables: + DEBIAN_FRONTEND: 'noninteractive' + COMPOSER_ALLOW_SUPERUSER: 1 + COMPOSER_CACHE_DIR: "$CI_PROJECT_DIR/.cache/composer" + NPM_CONFIG_CACHE: "$CI_PROJECT_DIR/.cache/npm" + CI_BUILD_DIR: '/tmp/plugin' + MOODLE_BRANCH: 'MOODLE_311_STABLE' + MOODLE_BEHAT_WWWROOT: 'http://localhost:8000' + MOODLE_BEHAT_WDHOST: 'http://behat:4444/wd/hub' + MOODLE_START_BEHAT_SERVERS: 'no' + DB: 'mariadb' + +default: + services: + - name: selenium/standalone-chrome:3 + alias: behat + - name: mariadb:10.6 + alias: db + command: + - '--character-set-server=utf8mb4' + - '--collation-server=utf8mb4_unicode_ci' + - '--innodb_file_per_table=On' + - '--wait-timeout=28800' + - '--skip-log-bin' + variables: + MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 'yes' + cache: + paths: + - .cache + image: moodlehq/moodle-php-apache:7.4 + before_script: + - mkdir -pv "$CI_BUILD_DIR" + - cp -ru "$CI_PROJECT_DIR/"* "$CI_BUILD_DIR" + - mkdir -p /usr/share/man/man1 /usr/share/man/man3 /usr/share/man/man7 + - apt-get -qq update + - apt-get -yqq install --no-install-suggests default-jre-headless mariadb-client + - 'curl -sS https://raw.githubusercontent.com/creationix/nvm/v0.39.3/install.sh | bash' + - . ~/.bashrc + - nvm install --default --latest-npm lts/gallium + - 'curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer' + - composer create-project -n --no-dev --no-progress --no-ansi moodlehq/moodle-plugin-ci /opt/mci ^3 + - export PATH="/opt/mci/bin:/opt/mci/vendor/bin:$PATH" + - moodle-plugin-ci install --db-host db + - '{ php -S 0.0.0.0:8000 -t "$CI_PROJECT_DIR/moodle" >/dev/null 2>&1 & }' + +job: + script: + - moodle-plugin-ci phplint + - moodle-plugin-ci phpunit + - moodle-plugin-ci behat --auto-rerun 0 --profile chrome + +job1: + image: moodlehq/moodle-php-apache:7.3 + variables: + MOODLE_BRANCH: 'MOODLE_310_STABLE' + script: + - moodle-plugin-ci validate