gecko/.gitlab-ci.yml

94 lines
1.9 KiB
YAML
Raw Normal View History

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
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
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
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
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