126 lines
3.9 KiB
YAML
126 lines
3.9 KiB
YAML
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 -rf $HOME/.cache/electron-builder/wine
|
|
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
|
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.npm
|
|
- $HOME/.cache/electron
|
|
- $HOME/.cache/electron-builder
|
|
- $HOME/.gradle/caches/
|
|
- $HOME/.gradle/wrapper/
|
|
- $HOME/.android/build-cache
|
|
|
|
before_script:
|
|
- if [ "$TRAVIS_OS_NAME" != 'windows' ] ; then npm install npm@latest -g ; fi
|
|
- gulp
|
|
|
|
jobs:
|
|
include:
|
|
- stage: check
|
|
if: NOT branch =~ /(master|integration|desktop)$/ AND env(DEPLOY) IS blank
|
|
os: linux
|
|
script: npm run build --bailOnLintError true --typeCheckOnLint true
|
|
- stage: mirror
|
|
if: branch IN (master, integration, desktop) AND repo = moodlehq/moodleapp
|
|
os: linux
|
|
script: scripts/mirror.sh
|
|
- stage: prepare
|
|
if: branch =~ /(master|^integration)$/ AND env(PREPARE) IS NOT blank AND env(PREPARE) = 1
|
|
os: linux
|
|
script: scripts/aot.sh
|
|
- stage: build
|
|
name: "Build Android"
|
|
if: env(DEPLOY) IS NOT blank AND ((env(DEPLOY) = 1 AND NOT branch = desktop) OR (env(DEPLOY) IN (2,3) AND tag IS NOT blank))
|
|
os: linux
|
|
dist: trusty
|
|
group: edge
|
|
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: build
|
|
name: "Build iOS"
|
|
if: env(DEPLOY) IS NOT blank AND ((env(DEPLOY) = 1 AND NOT branch = desktop) OR (env(DEPLOY) IN (2,3) AND tag IS NOT blank))
|
|
os: osx
|
|
osx_image: xcode11.3
|
|
env:
|
|
- BUILD_PLATFORM='ios'
|
|
script: scripts/aot.sh
|
|
- stage: build
|
|
name: "Build Linux"
|
|
if: env(DEPLOY) IS NOT blank AND ((env(DEPLOY) = 1 AND branch = desktop) OR (env(DEPLOY) = 3 AND tag IS NOT blank))
|
|
os: linux
|
|
env:
|
|
- ELECTRON_CACHE=$HOME/.cache/electron
|
|
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
|
|
- BUILD_PLATFORM='linux'
|
|
script: scripts/aot.sh
|
|
- stage: build
|
|
name: "Build MacOS"
|
|
if: env(DEPLOY) IS NOT blank AND ((env(DEPLOY) = 1 AND branch = desktop) OR (env(DEPLOY) = 3 AND tag IS NOT blank))
|
|
os: osx
|
|
osx_image: xcode11.3
|
|
env:
|
|
- ELECTRON_CACHE=$HOME/.cache/electron
|
|
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
|
|
- BUILD_PLATFORM='osx'
|
|
script: scripts/aot.sh
|
|
- stage: build
|
|
name: "Build Windows"
|
|
if: env(DEPLOY) IS NOT blank AND ((env(DEPLOY) = 1 AND branch = desktop) OR (env(DEPLOY) = 3 AND tag IS NOT blank))
|
|
os: windows
|
|
env:
|
|
- ELECTRON_CACHE=$HOME/.cache/electron
|
|
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
|
|
- ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true
|
|
- DEBUG=electron-windows-store
|
|
- BUILD_PLATFORM='windows'
|
|
script: scripts/aot.sh
|
|
- stage: test
|
|
name: "End to end tests (mod_forum, mod_messages and mod_comments)"
|
|
services:
|
|
- docker
|
|
if: env(TRAVIS_EVENT_TYPE) = cron
|
|
script: scripts/test_e2e.sh "@app&&@mod_forum" "@app&&@mod_messages" "@app&&@mod_comments"
|
|
- stage: test
|
|
name: "End to end tests (mod_data, mod_survey, mod_course, core_course and mod_courses)"
|
|
services:
|
|
- docker
|
|
if: env(TRAVIS_EVENT_TYPE) = cron
|
|
script: scripts/test_e2e.sh "@app&&@mod_data" "@app&&@mod_survey" "@app&&@mod_course" "@app&&@core_course" "@app&&@mod_courses"
|
|
- stage: test
|
|
name: "End to end tests (others)"
|
|
services:
|
|
- docker
|
|
if: env(TRAVIS_EVENT_TYPE) = cron
|
|
script: scripts/test_e2e.sh "@app&&~@mod_forum&&~@mod_messages&&~@mod_comments&&~@mod_data&&~@mod_survey&&~@mod_course&&~@core_course&&~@mod_courses"
|