1
1
---
2
2
stages :
3
+ # - prepare
3
4
- test
4
5
- publish
5
6
@@ -11,51 +12,61 @@ variables:
11
12
COMPOSER_ALLOW_SUPERUSER : 1
12
13
COMPOSER_CACHE_DIR : " $CI_PROJECT_DIR/.cache/composer"
13
14
NPM_CONFIG_CACHE : " $CI_PROJECT_DIR/.cache/npm"
14
- MOODLE_BRANCH : ' master '
15
+ MOODLE_BRANCH : ' main '
15
16
MOODLE_BEHAT_WWWROOT : ' http://localhost:8000'
16
17
MOODLE_BEHAT_WDHOST : ' http://behat:4444/wd/hub'
17
18
MOODLE_START_BEHAT_SERVERS : ' no'
18
19
DB : ' mariadb'
19
20
20
21
default :
21
- # services:
22
- # - name: selenium/standalone-chrome:3
23
- # alias: behat
24
- # - name: mariadb:10.6
25
- # alias: db
26
- # command:
27
- # - '--character-set-server=utf8mb4'
28
- # - '--collation-server=utf8mb4_unicode_ci'
29
- # - '--innodb_file_per_table=On'
30
- # - '--wait-timeout=28800'
31
- # - '--skip-log-bin'
32
- # variables:
33
- # MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 'yes'
34
22
cache :
35
23
paths :
36
24
- .cache
37
- image : moodlehq/moodle-php-apache:8.1
25
+ - vendor/
26
+
27
+ image : moodlehq/moodle-php-apache:8.3
38
28
before_script :
39
29
# move to container
40
30
- mkdir -p /usr/share/man/man1 /usr/share/man/man3 /usr/share/man/man7
41
- # - apt-get -qq update
42
- # - apt-get -yqq install --no-install-suggests default-jre-headless mariadb-client
31
+ - ' curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer'
43
32
- ' curl -sS https://raw.githubusercontent.com/creationix/nvm/v0.39.3/install.sh | bash'
44
33
- source ~/.bashrc
45
34
- nvm install --default --latest-npm lts/gallium
46
- - ' curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer'
47
- - composer create-project -n --no-dev --no-progress --no-ansi --prefer-dist moodlehq/moodle-plugin-ci /opt/mci ^4
48
- - export PATH="/opt/mci/bin:/opt/mci/vendor/bin:$PATH"
35
+ - composer create-project -n --no-dev --no-progress --no-ansi --prefer-dist moodlehq/moodle-plugin-ci /opt/moodle-plugin-ci ^4
36
+ - export PATH="/opt/moodle-plugin-ci/bin:/opt/moodle-plugin-ci/vendor/bin:$PATH"
49
37
# TODO not always needed
50
38
# install moodle
51
39
# - moodle-plugin-ci install --db-host db
52
40
# - '{ php -S 0.0.0.0:8000 -t "$CI_PROJECT_DIR/moodle" >/dev/null 2>&1 & }'
53
41
42
+ # install dependencies:
43
+ # stage: prepare
44
+ # script:
45
+ # composer install
46
+
54
47
test :
55
48
stage : test
49
+ services :
50
+ # - name: selenium/standalone-chrome:3
51
+ # alias: behat
52
+ - name : mariadb:11.6
53
+ alias : db
54
+ command :
55
+ - ' --character-set-server=utf8mb4'
56
+ - ' --collation-server=utf8mb4_unicode_ci'
57
+ - ' --innodb_file_per_table=On'
58
+ - ' --wait-timeout=28800'
59
+ - ' --skip-log-bin'
60
+ variables :
61
+ MARIADB_ALLOW_EMPTY_ROOT_PASSWORD : ' yes'
56
62
script :
63
+ - composer install
64
+ - apt update
65
+ - apt -yqq install --no-install-suggests default-jre-headless mariadb-client
66
+ - moodle-plugin-ci install --moodle=/opt/moodle --db-name moodle --db-host db
57
67
- moodle-plugin-ci phplint $CI_PROJECT_DIR
58
68
- moodle-plugin-ci phpunit $CI_PROJECT_DIR
69
+ - moodle-plugin-ci validate $CI_PROJECT_DIR
59
70
- moodle-plugin-ci behat --auto-rerun 0 --profile chrome $CI_PROJECT_DIR
60
71
61
72
@@ -66,8 +77,8 @@ validate:
66
77
# variables:
67
78
# MOODLE_BRANCH: 'MOODLE_310_STABLE'
68
79
script :
80
+ - composer install
69
81
# - validate-version # TODO complains about CHANGELOG.md, even if it exist double check
70
- # - moodle-plugin-ci validate $CI_PROJECT_DIR # need moodle installed
71
82
- moodle-plugin-ci savepoints $CI_PROJECT_DIR
72
83
73
84
# TODO
@@ -79,19 +90,21 @@ validate:
79
90
moodle-lint :
80
91
stage : test
81
92
image : moodlehq/moodle-php-apache:8.1
82
- # variables:
83
- # MOODLE_BRANCH: 'master'
84
93
script :
94
+ - composer install
85
95
- moodle-plugin-ci phpcs $CI_PROJECT_DIR --ansi
86
-
96
+ allow_failure : true
87
97
88
98
package plugin :
89
99
stage : publish
90
- image : ubuntu:latest
100
+ image : moodlehq/moodle-php-apache:8.1
91
101
before_script :
92
102
- apt update
93
103
- apt install zip -y
94
104
script :
105
+ - rm -rf vendor/ .cache
106
+ - ' curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer'
107
+ - composer install --no-dev
95
108
- ' version=$(sed -n '' s/\s*$plugin->version\s*=\s\([0-9]*\);.*/\1/p'' version.php)'
96
109
- ' echo "version: ${version}"'
97
110
- ' folder="$(basename $CI_PROJECT_DIR)"'
0 commit comments