famedlysdk/.gitlab-ci.yml
MTRNord f6a253de88
repo!: Make CI ready for change from master to main.
BREAKING CHANGE: This only works with main as the default instead of master
2020-08-01 15:55:41 +02:00

104 lines
2.3 KiB
YAML

stages:
- coverage
- builddocs
- deploy
coverage:
tags:
- linux
stage: coverage
image: debian:testing
dependencies: []
script:
- apt update
- apt install -y curl gnupg2 git
- curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list
- apt update
- apt install -y dart chromium lcov libolm3 sqlite3 libsqlite3-dev
- ln -s /usr/lib/dart/bin/pub /usr/bin/
- useradd -m test
- chown -R 'test:' '.'
- chmod +x ./prepare.sh
- chmod +x ./test.sh
- su -c ./prepare.sh test
- su -c ./test.sh test
artifacts:
paths:
- coverage/
coverage_without_olm:
tags:
- linux
stage: coverage
image: debian:testing
dependencies: []
script:
- apt update
- apt install -y curl gnupg2 git sqlite3 libsqlite3-dev
- curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list
- apt update
- apt install -y dart
- ln -s /usr/lib/dart/bin/pub /usr/bin/
- useradd -m test
- chown -R 'test:' '.'
- chmod +x ./test.sh
- pub get
- pub run test
code_analyze:
tags:
- docker
stage: coverage
image: cirrusci/flutter
dependencies: []
script:
- flutter format lib/ test/ test_driver/ --set-exit-if-changed
- flutter analyze
build-api-doc:
tags:
- docker
stage: builddocs
image: cirrusci/flutter
script:
- dartdoc --exclude "dart:async,dart:collection,dart:convert,dart:core,dart:developer,dart:io,dart:isolate,dart:math,dart:typed_data,dart:ui"
artifacts:
paths:
- doc/api/
only:
- main
build-doc:
tags:
- docker
stage: builddocs
image: registry.gitlab.com/larodar/mdbook-dtmo:latest
script:
- cd doc
- mdbook-dtmo build -d public
- mv public ../doc-public
artifacts:
paths:
- doc-public
only:
- main
pages:
tags:
- linux
stage: deploy
image: alpine:latest
script:
- mv doc/api/ ./home/api
- mv doc-public ./home/doc
- mv home public
dependencies:
- build-api-doc
- build-doc
artifacts:
paths:
- public
only:
- main