stages: - build - deploy build:apk: stage: build image: cirrusci/flutter:latest script: - flutter build apk --release artifacts: paths: - build/app/outputs/flutter-apk/*.apk expire_in: 30 days rules: - if: $CI_COMMIT_TAG when: always - if: $CI_COMMIT_BRANCH =~ /^dev|main/ when: on_success deploy:release: stage: deploy image: alpine:latest needs: - build:apk before_script: - apk add --no-cache curl jq script: - | VERSION="${CI_COMMIT_TAG:-v0.0.${CI_PIPELINE_ID}}" APK_FILE=$(ls build/app/outputs/flutter-apk/*.apk | head -n1) if [ -z "$APK_FILE" ]; then echo "No APK found!" exit 1 fi DESCRIPTION="NeoMovies Mobile ${VERSION} Commit: ${CI_COMMIT_SHORT_SHA} Branch: ${CI_COMMIT_BRANCH} Pipeline: [#${CI_PIPELINE_ID}](${CI_PIPELINE_URL}) APK: \`$(basename $APK_FILE)\`" RELEASE_PAYLOAD=$(cat <