Newer
Older
install:
stage: install
script:
- flutter pub get
- sh ./scripts/install.sh
artifacts:
untracked: true
expire_in: 2 days
- dart pub global activate flutter_analyze_reporter
- dart pub global run flutter_analyze_reporter --output=gl-code-quality-report.json --reporter=gitlab
coverage: '/lines\.*: \d+\.\d+\%/'
artifacts:
name: "test-coverage-report-$CI_COMMIT_SHORT_SHA"
paths:
- coverage
expire_in: 5 days
- VERSION_NAME=$(cat pubspec.yaml | grep version | head -1 | awk '{print $2}' | awk -F+ '{print $1}')
- VERSION_CODE=$(cat pubspec.yaml | grep version | head -1 | awk '{print $2}' | awk -F+ '{print $1}')
- VERSION_CODE_NEW=$(date +%s)
- VERSION_NEW=$VERSION_NAME+$VERSION_CODE_NEW
- 'sed -i "s/version: $VERSION_NAME+.*/version: $VERSION_NEW/g" pubspec.yaml'
- 'sed -i "s/\"versionCode\":.*/\"versionCode\": $VERSION_CODE_NEW,/g" updater.json'
- 'sed -i "s/\"versionName\":.*/\"versionName\": \"$VERSION_NAME\",/g" updater.json'
- echo $TEST_STORE_FILE | base64 -d > test-keystore.jks
- flutter build apk --debug --dart-define=REQUEST_ENV=prod_env --dart-define=KEY_ALIAS=$TEST_KEY_ALIAS --dart-define=KEY_PASSWORD=$TEST_KEY_PASSWORD --dart-define=STORE_FILE=$(pwd)/test-keystore.jks --dart-define=STORE_PASSWORD=$TEST_STORE_PASSWORD --dart-define=OCP_APIM_SUBSCURIPTION_KEY=$OCP_APIM_SUBSCURIPTION_KEY --dart-define=ANDROID_BUILD_TYPE=debug
expire_in: 2 days
- APK_FILENAME=$(basename build/app/outputs/apk/debug/*.apk)
- APK_URL_PATH="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/jihu-gitlab-app/${VERSION_NAME}/"
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${ANDROID_APK_PATH}/${APK_FILENAME} "${APK_URL_PATH}"'
- APK_URL_LATEST="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/jihu-gitlab-app/latest/app-debug.apk"
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${ANDROID_APK_PATH}/${APK_FILENAME} "${APK_URL_LATEST}"'
- echo $APK_URL_LATEST
- 'sed -i "s#\"url\":.*#\"url\": \"$APK_URL_LATEST\"#g" updater.json'
- UPDATER_URL_PATH_OLD="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/jihu-gitlab-app/updater/"
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file updater.json "${UPDATER_URL_PATH_OLD}"'
- UPDATER_URL_PATH="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/jihu-gitlab-app/latest/"
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file updater.json "${UPDATER_URL_PATH}"'
- 'sed -i "/android.permission.REQUEST_INSTALL_PACKAGES/d" $(find . -name AndroidManifest.xml)'
- 'sed -i "/android.permission.WRITE_EXTERNAL_STORAGE/d" $(find . -name AndroidManifest.xml)'
- echo "BUILD_NUMBER:""${BUILD_NUMBER}"
- NEXT_BUILD_NUMBER=$(expr $BUILD_NUMBER + 1)
- 'curl -X PUT --header "PRIVATE-TOKEN: $PROJECT_TOKEN" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/BUILD_NUMBER" --form "value=${NEXT_BUILD_NUMBER}"'
- echo "NEXT_BUILD_NUMBER:""${NEXT_BUILD_NUMBER}"
- VERSION_NAME=$(cat pubspec.yaml | grep version | head -1 | awk '{print $2}' | awk -F+ '{print $1}')
- VERSION_CODE_NEW=$NEXT_BUILD_NUMBER
- VERSION_NEW=$VERSION_NAME+$VERSION_CODE_NEW
- 'sed -i "s/version: $VERSION_NAME+.*/version: $VERSION_NEW/g" pubspec.yaml'
- echo $PROD_STORE_FILE | base64 -d > prod-keystore.jks
- flutter build appbundle --dart-define=KEY_ALIAS=$PROD_KEY_ALIAS --dart-define=KEY_PASSWORD=$PROD_KEY_PASSWORD --dart-define=STORE_FILE=$(pwd)/prod-keystore.jks --dart-define=STORE_PASSWORD=$PROD_STORE_PASSWORD --dart-define=OCP_APIM_SUBSCURIPTION_KEY=$OCP_APIM_SUBSCURIPTION_KEY --dart-define=ANDROID_BUILD_TYPE=release
artifacts:
name: "android-aab"
paths:
- ${ANDROID_AAB_PATH}
expire_in: 2 days
- echo $GOOGLE_PLAY_SECRET > secret.json
- cd android
- fastlane supply init
- fastlane supply --aab ../${ANDROID_AAB_PATH}app-release.aab --track internal