gecko/.gitlab-ci.yml

80 lines
1.5 KiB
YAML

stages:
- format
- build_and_test
- quality
- package
.env:
image: axiomteam/gecko-ci:v0.0.9
tags:
- redshift
format:
extends: .env
rules:
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
when: manual
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
- when: manual
stage: format
script:
- flutter format --set-exit-if-changed lib packages/dubp_rs/lib/dubp.dart
build_and_test:
extends: .env
rules:
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
when: manual
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
- when: manual
stage: build_and_test
tags:
- redshift
script:
- flutter analyze
lint:
extends: .env
rules:
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
when: manual
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
- when: manual
stage: quality
audit_dependencies:
extends: .env
rules:
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
when: manual
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
- when: manual
stage: quality
releases:test:
extends: .env
stage: package
allow_failure: true
rules:
- if: $CI_COMMIT_TAG
when: never
- when: manual
script:
- bash "release/android/build-apk.sh" "$(date +%Y%m%d).$(date +%H%M).$(date +%S)+0"
artifacts:
paths: &releases_artifacts
- work/bin/
expire_in: 72h
releases:x64:
extends: .env
stage: package
rules:
- if: $CI_COMMIT_TAG
script:
- bash "release/android/build-apk.sh" "${CI_COMMIT_TAG#v}"
artifacts:
paths: *releases_artifacts
expire_in: 1 mos