101 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
| stages:
 | |
|   - coverage
 | |
|   - builddocs
 | |
|   - deploy
 | |
|   - publish
 | |
| 
 | |
| test:
 | |
|   tags:
 | |
|     - linux
 | |
|   stage: coverage
 | |
|   image: dart
 | |
|   script:
 | |
|     - dart pub get
 | |
|     - dart 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: dart
 | |
|   script:
 | |
|     - rm -rf ./docs
 | |
|     - dart pub get
 | |
|     - dart pub publish --dry-run
 | |
| 
 | |
| pub-dev:
 | |
|   stage: publish
 | |
|   image: dart
 | |
|   script:
 | |
|     - rm -rf ./docs
 | |
|     - |
 | |
|       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 --force
 | |
|   rules:
 | |
|     - if: $CI_COMMIT_TAG
 |