os: linux dist: trusty node_js: 14 git: depth: 3 before_cache: - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ cache: npm: true directories: - $HOME/.npm - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ - $HOME/.android/build-cache before_install: - nvm use - node --version - npm --version - nvm --version - npm ci before_script: - npx gulp script: - scripts/build.sh jobs: include: - stage: build name: "Build Android" if: env(DEPLOY) = 1 OR (env(DEPLOY) = 2 AND tag IS NOT blank) language: android android: components: - tools - platform-tools - build-tools-29.0.3 - android-29 - extra-google-google_play_services - extra-google-m2repository - extra-android-m2repository addons: apt: packages: - libsecret-1-dev - stage: build name: "Build iOS" language: node_js if: env(BUILD_IOS) = 1 AND (env(DEPLOY) = 1 OR (env(DEPLOY) = 2 AND tag IS NOT blank)) os: osx osx_image: xcode12.5 - 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_course, core_course and mod_courses)" services: - docker if: type = cron script: scripts/test_e2e.sh "@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_course&&~@core_course&&~@mod_courses"