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