2626 env :
2727 MOODLE_DOCKER_DB : pgsql
2828 MOODLE_DOCKER_BROWSER : chrome
29- MOODLE_DOCKER_PHP_VERSION : 7.4
29+ MOODLE_DOCKER_PHP_VERSION : ' 8.0 '
3030 MOODLE_BRANCH : ${{ github.event.inputs.moodle_branch || 'master' }}
3131 MOODLE_REPOSITORY : ${{ github.event.inputs.moodle_repository || 'https://github.com/moodle/moodle' }}
3232 BEHAT_TAGS : ${{ github.event.inputs.behat_tags || '~@performance' }}
4242 git clone --branch master --depth 1 https://github.com/moodlehq/moodle-docker $GITHUB_WORKSPACE/moodle-docker
4343 - name : Install npm packages
4444 run : npm ci --no-audit
45+ - name : Create Behat faildumps folder
46+ run : |
47+ mkdir moodle/behatfaildumps
48+ chmod 777 moodle/behatfaildumps
49+ - name : Install Behat Snapshots plugin
50+ run : git clone --branch main --depth 1 https://github.com/NoelDeMartin/moodle-local_behatsnapshots $GITHUB_WORKSPACE/moodle/local/behatsnapshots
4551 - name : Generate Behat tests plugin
4652 run : |
4753 export MOODLE_DOCKER_WWWROOT=$GITHUB_WORKSPACE/moodle
@@ -50,12 +56,21 @@ jobs:
5056 run : |
5157 export MOODLE_DOCKER_WWWROOT=$GITHUB_WORKSPACE/moodle
5258 cp $GITHUB_WORKSPACE/moodle-docker/config.docker-template.php $GITHUB_WORKSPACE/moodle/config.php
59+ sed -i "61c\$CFG->behat_faildump_path = '/var/www/html/behatfaildumps';" $GITHUB_WORKSPACE/moodle/config.php
5360 sed -i "61i\$CFG->behat_increasetimeout = 2;" $GITHUB_WORKSPACE/moodle/config.php
5461 sed -i "61i\$CFG->behat_ionic_wwwroot = 'http://moodleapp';" $GITHUB_WORKSPACE/moodle/config.php
62+ sed -i "61i\$CFG->behat_snapshots_path = '/var/www/html/local/moodleappbehat/tests/behat/snapshots';" $GITHUB_WORKSPACE/moodle/config.php
5563 echo "define('TEST_MOD_BIGBLUEBUTTONBN_MOCK_SERVER', 'http://bbbmockserver/hash' . sha1(\$CFG->behat_wwwroot));" >> $GITHUB_WORKSPACE/moodle/config.php
5664 $GITHUB_WORKSPACE/moodle-docker/bin/moodle-docker-compose pull
5765 $GITHUB_WORKSPACE/moodle-docker/bin/moodle-docker-compose up -d
5866 $GITHUB_WORKSPACE/moodle-docker/bin/moodle-docker-wait-for-db
67+ - name : Install Imagick PHP extension
68+ run : |
69+ export MOODLE_DOCKER_WWWROOT=$GITHUB_WORKSPACE/moodle
70+ ./moodle-docker/bin/moodle-docker-compose exec webserver apt-get update
71+ ./moodle-docker/bin/moodle-docker-compose exec webserver apt-get install -y libmagickwand-dev --no-install-recommends
72+ ./moodle-docker/bin/moodle-docker-compose exec webserver pecl install imagick
73+ ./moodle-docker/bin/moodle-docker-compose exec webserver docker-php-ext-enable imagick
5974 - name : Compile & launch app with Docker
6075 run : |
6176 docker build --build-arg build_command="npm run build:test" -t moodlehq/moodleapp:behat .
6580 - name : Init Behat
6681 run : |
6782 export MOODLE_DOCKER_WWWROOT=$GITHUB_WORKSPACE/moodle
68- $GITHUB_WORKSPACE/moodle-docker/bin/moodle-docker-compose exec -T webserver sh -c "php admin/tool/behat/cli/init.php --parallel=8 --optimize-runs='@app&&$BEHAT_TAGS'"
83+ $GITHUB_WORKSPACE/moodle-docker/bin/moodle-docker-compose exec -T webserver sh -c "php admin/tool/behat/cli/init.php --parallel=8 --optimize-runs='@app&&~@local&& $BEHAT_TAGS'"
6984 - name : Run Behat tests
7085 run : |
7186 export MOODLE_DOCKER_WWWROOT=$GITHUB_WORKSPACE/moodle
72- $GITHUB_WORKSPACE/moodle-docker/bin/moodle-docker-compose exec -T webserver sh -c "php admin/tool/behat/cli/run.php --verbose --tags='@app&&$BEHAT_TAGS' --auto-rerun=3"
87+ $GITHUB_WORKSPACE/moodle-docker/bin/moodle-docker-compose exec -T webserver sh -c "php admin/tool/behat/cli/run.php --verbose --tags='@app&&~@local&&$BEHAT_TAGS' --auto-rerun=3"
88+ - name : Upload Snapshot failures
89+ uses : actions/upload-artifact@v3
90+ if : ${{ failure() }}
91+ with :
92+ name : snapshot_failures
93+ path : moodle/local/moodleappbehat/tests/behat/snapshots/failures/*
94+ - name : Upload Behat failures
95+ uses : actions/upload-artifact@v3
96+ if : ${{ failure() }}
97+ with :
98+ name : behat_failures
99+ path : moodle/behatfaildumps
0 commit comments