os: linux dist: bionic group: edge language: node_js node_js: 11 php: 7.1 android: components: - tools - platform-tools - build-tools-29.0.3 - android-28 - extra-google-google_play_services - extra-google-m2repository - extra-android-m2repository git: depth: 3 before_cache: - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ cache: directories: - $HOME/.npm - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ - $HOME/.android/build-cache before_script: - npm install npm@latest -g - gulp jobs: include: - stage: check if: NOT branch =~ /(master|integration|desktop)$/ AND env(DEPLOY) IS blank script: npm run build --bailOnLintError true --typeCheckOnLint true - stage: mirror if: branch IN (master, integration, desktop) AND repo = moodlehq/moodleapp AND type != cron script: scripts/mirror.sh - stage: prepare if: branch =~ /(master|^integration)$/ AND env(PREPARE) IS present AND env(PREPARE) = 1 AND type != cron AND tag IS blank script: scripts/aot.sh - stage: build name: "Build Android" if: env(DEPLOY) IS present AND type != cron AND ((env(DEPLOY) = 1 AND tag IS blank) OR (env(DEPLOY) = 2 AND tag IS present)) dist: trusty language: android env: - BUILD_PLATFORM='android' before_install: - nvm install 11 - node --version - npm --version - nvm --version - npm ci - npm install -g gulp script: scripts/aot.sh - stage: test name: "End to end tests (mod_forum and mod_messages)" services: - docker if: type = cron script: scripts/test_e2e.sh "@app&&@mod_forum" "@app&&@mod_messages" - stage: test name: "End to end tests (mod_data and mod_survey)" services: - docker if: type = cron script: scripts/test_e2e.sh "@app&&@mod_data" "@app&&@mod_survey" - stage: test name: "End to end tests (mod_comments, mod_course, core_course and mod_courses)" services: - docker if: type = cron script: scripts/test_e2e.sh "@app&&@mod_comments" "@app&&@mod_course" "@app&&@core_course" "@app&&@mod_courses" - stage: test name: "End to end tests (others)" services: - docker if: type = cron script: scripts/test_e2e.sh "@app&&~@mod_forum&&~@mod_messages&&~@mod_comments&&~@mod_data&&~@mod_survey&&~@mod_course&&~@core_course&&~@mod_courses"