99 lines
2.1 KiB
YAML
99 lines
2.1 KiB
YAML
stages:
|
|
- coverage
|
|
- builddocs
|
|
- deploy
|
|
- publish
|
|
|
|
test:
|
|
tags:
|
|
- linux
|
|
stage: coverage
|
|
image: google/dart
|
|
script:
|
|
- pub get
|
|
- pub run test
|
|
|
|
code_analyze:
|
|
tags:
|
|
- docker
|
|
stage: coverage
|
|
image: cirrusci/flutter
|
|
dependencies: []
|
|
script:
|
|
- flutter format lib/ test/ --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
|
|
|
|
pages:
|
|
tags:
|
|
- linux
|
|
stage: deploy
|
|
image: alpine:latest
|
|
script:
|
|
- mv doc/api/ public
|
|
dependencies:
|
|
- build_api_doc
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
only:
|
|
- main
|
|
|
|
dry-run:
|
|
stage: publish
|
|
image: google/dart
|
|
script:
|
|
- dart pub get
|
|
- dart pub publish --dry-run
|
|
|
|
pub-dev:
|
|
stage: publish
|
|
image: google/dart
|
|
script:
|
|
- |
|
|
if [ -z "${PUB_DEV_PUBLISH_ACCESS_TOKEN}" ]; then
|
|
echo "Missing PUB_DEV_PUBLISH_ACCESS_TOKEN environment variable"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "${PUB_DEV_PUBLISH_REFRESH_TOKEN}" ]; then
|
|
echo "Missing PUB_DEV_PUBLISH_REFRESH_TOKEN environment variable"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "${PUB_DEV_PUBLISH_TOKEN_ENDPOINT}" ]; then
|
|
echo "Missing PUB_DEV_PUBLISH_TOKEN_ENDPOINT environment variable"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "${PUB_DEV_PUBLISH_EXPIRATION}" ]; then
|
|
echo "Missing PUB_DEV_PUBLISH_EXPIRATION environment variable"
|
|
exit 1
|
|
fi
|
|
|
|
cat <<EOF > ~/.pub-cache/credentials.json
|
|
{
|
|
"accessToken":"$(echo "${PUB_DEV_PUBLISH_ACCESS_TOKEN}" | base64 -d)",
|
|
"refreshToken":"$(echo "${PUB_DEV_PUBLISH_REFRESH_TOKEN}" | base64 -d)",
|
|
"tokenEndpoint":"${PUB_DEV_PUBLISH_TOKEN_ENDPOINT}",
|
|
"scopes":["https://www.googleapis.com/auth/userinfo.email","openid"],
|
|
"expiration":${PUB_DEV_PUBLISH_EXPIRATION}
|
|
}
|
|
EOF
|
|
- dart pub get
|
|
- dart pub publish
|
|
rules:
|
|
- if: $CI_COMMIT_TAG
|