84 lines
1.9 KiB
YAML
84 lines
1.9 KiB
YAML
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 install
|
|
- npm install npm@^7 -g
|
|
- node --version
|
|
- npm --version
|
|
- nvm --version
|
|
- npm ci
|
|
- yes | sdkmanager "build-tools;30.0.3"
|
|
|
|
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
|
|
- php5-cli
|
|
- php5-common
|
|
- 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: xcode13.1
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- jq
|
|
- 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"
|