famedlysdk/.gitlab-ci.yml

70 lines
1.5 KiB
YAML

stages:
- coverage
- builddocs
- deploy
variables:
JEKYLL_ENV: production
coverage:
image: debian:testing
stage: coverage
coverage: '/^\s+lines.+: (\d+.\d*%)/'
dependencies: []
script:
- apt update
- apt install -y curl gnupg2 git
- curl https://storage.googleapis.com/dart-archive/channels/stable/release/2.7.2/linux_packages/dart_2.7.2-1_amd64.deb > dart.deb
- apt install -y ./dart.deb
- apt update
- apt install -y chromium lcov libolm3
- 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
coverage_without_olm:
image: cirrusci/flutter
stage: coverage
coverage: '/^\s+lines.+: (\d+.\d*%)/'
dependencies: []
script:
- flutter pub get
- flutter pub run test
code_analyze:
image: cirrusci/flutter
stage: coverage
dependencies: []
script:
- flutter analyze
builddocs:
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:
- master
pages:
stage: deploy
image: ruby:2.3
script:
- mv doc/api/* ./
- bundle install
- bundle exec jekyll build -d public
dependencies:
- builddocs
artifacts:
paths:
- public
only:
- master