2021-02-25 04:22:55 +01:00
|
|
|
stages:
|
|
|
|
- format
|
|
|
|
- build_and_test
|
|
|
|
- quality
|
2021-02-25 21:44:59 +01:00
|
|
|
- package
|
2021-02-25 04:22:55 +01:00
|
|
|
|
|
|
|
.env:
|
2021-03-08 18:19:17 +01:00
|
|
|
image: axiomteam/gecko-ci:v0.0.6
|
2021-02-25 04:22:55 +01:00
|
|
|
tags:
|
|
|
|
- redshift
|
|
|
|
before_script:
|
|
|
|
- rustup show
|
|
|
|
- rustc --version && cargo --version
|
|
|
|
|
|
|
|
format:
|
|
|
|
extends: .env
|
2021-02-26 02:20:56 +01:00
|
|
|
rules:
|
|
|
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
|
|
|
when: manual
|
|
|
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
|
|
|
- when: manual
|
2021-02-25 04:22:55 +01:00
|
|
|
stage: format
|
|
|
|
script:
|
|
|
|
- cargo fmt -- --version
|
|
|
|
- cargo fmt -- --check
|
|
|
|
- flutter format --set-exit-if-changed lib packages/dubp_rs/lib/dubp.dart
|
|
|
|
|
|
|
|
build_and_test:
|
|
|
|
extends: .env
|
2021-02-26 02:20:56 +01:00
|
|
|
rules:
|
|
|
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
|
|
|
when: manual
|
|
|
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
|
|
|
- when: manual
|
2021-02-25 04:22:55 +01:00
|
|
|
stage: build_and_test
|
|
|
|
tags:
|
|
|
|
- redshift
|
|
|
|
script:
|
|
|
|
- RUSTFLAGS="-D warnings" cargo make
|
|
|
|
- cd packages/dubp_rs && flutter pub get && cd ../..
|
|
|
|
- flutter analyze
|
|
|
|
- cargo test
|
|
|
|
# - flutter test
|
|
|
|
|
|
|
|
lint:
|
|
|
|
extends: .env
|
2021-02-26 02:20:56 +01:00
|
|
|
rules:
|
|
|
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
|
|
|
when: manual
|
|
|
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
|
|
|
- when: manual
|
2021-02-25 04:22:55 +01:00
|
|
|
stage: quality
|
|
|
|
script:
|
|
|
|
- cargo clippy -- -V
|
|
|
|
- cargo clippy --all --tests -- -D warnings --verbose
|
|
|
|
|
|
|
|
audit_dependencies:
|
|
|
|
extends: .env
|
2021-02-26 02:20:56 +01:00
|
|
|
rules:
|
|
|
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
|
|
|
when: manual
|
|
|
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
|
|
|
- when: manual
|
2021-02-25 04:22:55 +01:00
|
|
|
stage: quality
|
|
|
|
script:
|
|
|
|
- cargo deny -V
|
|
|
|
- cargo deny check
|
2021-02-25 21:44:59 +01:00
|
|
|
|
|
|
|
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
|