GardenPlanner/.gitlab-ci.yml

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