61 lines
1.2 KiB
YAML
61 lines
1.2 KiB
YAML
|
|
stages:
|
|
- build
|
|
- analyze
|
|
|
|
analyze:
|
|
stage: analyze
|
|
image: cirrusci/flutter:latest
|
|
before_script:
|
|
- cd "$CI_PROJECT_DIR/"
|
|
script:
|
|
- flutter analyze --write=analyzer-output.txt
|
|
artifacts:
|
|
paths:
|
|
- analyzer-output.txt
|
|
|
|
build:
|
|
stage: build
|
|
image: cirrusci/flutter:latest
|
|
before_script:
|
|
- cd "$CI_PROJECT_DIR/"
|
|
script:
|
|
- flutter packages get
|
|
- flutter build apk
|
|
- flutter build web
|
|
artifacts:
|
|
paths:
|
|
- build/app/outputs/flutter-apk/app-release.apk
|
|
- build/web
|
|
|
|
test:
|
|
stage: build
|
|
image: cirrusci/flutter:latest
|
|
before_script:
|
|
- cd "$CI_PROJECT_DIR/"
|
|
- flutter packages get
|
|
script:
|
|
- flutter test --coverage
|
|
artifacts:
|
|
paths:
|
|
- coverage/lcov.info
|
|
coverage: '/\s*lines\.*:\s*([\d\.]+%)/'
|
|
|
|
sonar:
|
|
stage: analyze
|
|
image:
|
|
name: jdwvierling/sonarflutter:1
|
|
entrypoint: [""]
|
|
variables:
|
|
# Defines the location of the analysis task cache
|
|
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"
|
|
# Shallow cloning needs to be disabled.
|
|
# See https://docs.sonarqube.org/latest/analysis/gitlab-cicd/.
|
|
GIT_DEPTH: 0
|
|
cache:
|
|
key: "${CI_JOB_NAME}"
|
|
paths:
|
|
- .sonar/cache
|
|
script:
|
|
- sonar-scanner
|