app/.gitlab-ci.yml
2022-05-26 13:27:26 +07:00

94 lines
No EOL
2.6 KiB
YAML

image: cirrusci/flutter:stable
variables:
IOS_XCODE_PROJECT_NAME: "nekoya"
FLAVOR: "production"
stages:
- archive
android:debug:
stage: archive
before_script:
- flutter create .
- flutter packages get
- flutter clean
script:
- flutter doctor --android-licenses
- flutter build apk --flavor ${FLAVOR} --debug
artifacts:
paths:
- "**/**/**/**/**/**/*.apk"
expire_in: 1 day
android:release:
stage: archive
before_script:
- flutter create .
- flutter packages get
- flutter clean
script:
- flutter doctor --android-licenses
- flutter build apk --flavor ${FLAVOR} --release
artifacts:
paths:
- "**/**/**/**/**/**/*.apk"
expire_in: 1 day
ios:debug:
stage: archive
before_script:
- flutter create .
- flutter packages get
- flutter clean
script:
- flutter build ios --flavor ${FLAVOR}
- if [ -d archive ]; then rm -rf archive; fi && mkdir archive
- if [ -d artifact ]; then rm -rf artifact; fi && mkdir artifact
- export PLIST_DIRECTORY="ci-cd/iOS/${FLAVOR}/debug"
- cd ios
- pod install;
- xcodebuild clean archive -quiet -workspace ${IOS_XCODE_PROJECT_NAME}.xcworkspace -scheme ${FLAVOR} -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive";
- xcodebuild -quiet -exportArchive -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive" -exportPath ../artifact/ -exportOptionsPlist ${PLIST_DIRECTORY}/*.plist
artifacts:
paths:
- "artifact/*.ipa"
expire_in: 1 day
ios:release:
stage: archive
before_script:
- flutter create .
- flutter packages get
- flutter clean
script:
- flutter build ios --flavor ${FLAVOR}
- if [ -d archive ]; then rm -rf archive; fi && mkdir archive
- if [ -d artifact ]; then rm -rf artifact; fi && mkdir artifact
- export PLIST_DIRECTORY="ci-cd/iOS/${FLAVOR}/release"
- cd ios
- pod install;
- xcodebuild clean archive -quiet -workspace ${IOS_XCODE_PROJECT_NAME}.xcworkspace -scheme ${FLAVOR} -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive";
- xcodebuild -quiet -exportArchive -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive" -exportPath ../artifact/ -exportOptionsPlist ${PLIST_DIRECTORY}/*.plist
artifacts:
paths:
- "artifact/*.ipa"
expire_in: 1 day
web:debug:
stage: archive
before_script:
- flutter create .
- flutter packages get
- flutter clean
script:
- flutter build web --flavor ${FLAVOR} --debug
web:release:
stage: archive
before_script:
- flutter create .
- flutter packages get
- flutter clean
script:
- flutter build web --flavor ${FLAVOR} --release