加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
codemagic.yaml 3.24 KB
一键复制 编辑 原始数据 按行查看 历史
workflows:
android:
name: build, test & publish Android version
max_build_duration: 30
instance_type: mac_mini_m1
working_directory: client/mobile
environment:
groups:
- default
- cloudflare_credentials
cache:
cache_paths:
- $CM_BUILD_DIR/node_modules
scripts:
- name: Install npm dependencies
script: |
yarn
- name: Set Android SDK location
script: |
echo "sdk.dir=$ANDROID_SDK_ROOT" > "./android/local.properties"
- name: Set Files
script: |
echo $AGCONNECT_SERVICES | base64 --decode > "./android/app/agconnect-services.json"
echo $KEYSTORE_FILE | base64 --decode > "./android/app/tailchat.keystore"
echo "TAILCHAT_UPLOAD_STORE_FILE=$TAILCHAT_UPLOAD_STORE_FILE" >> "./.env"
echo "TAILCHAT_UPLOAD_STORE_PASSWORD=$TAILCHAT_UPLOAD_STORE_PASSWORD" >> "./.env"
echo "TAILCHAT_UPLOAD_KEY_ALIAS=$TAILCHAT_UPLOAD_KEY_ALIAS" >> "./.env"
echo "TAILCHAT_UPLOAD_KEY_PASSWORD=$TAILCHAT_UPLOAD_KEY_PASSWORD" >> "./.env"
echo "GETUI_APPID=$GETUI_APPID" >> "./.env"
echo "GETUI_APPKEY=$GETUI_APPKEY" >> "./.env"
echo "GETUI_APPSECRET=$GETUI_APPSECRET" >> "./.env"
echo "GETUI_HUAWEI_APP_ID=$GETUI_HUAWEI_APP_ID" >> "./.env"
- name: Build Android release
working_directory: client/mobile/android
script: |
UPDATED_BUILD_NUMBER=$BUILD_NUMBER
./gradlew assembleRelease \
-PversionCode=$UPDATED_BUILD_NUMBER \
-PversionName=1.0.$UPDATED_BUILD_NUMBER
- name: Build finished successfully
script: touch ~/SUCCESS
artifacts:
- android/app/build/outputs/**/**/*.apk
publishing:
email:
recipients:
- moonrailgun@gmail.com
scripts:
- name: Install wrangler
script: npm install -g wrangler
- name: Deploy to Cloudflare Pages
script: |
if [[ -f ~/SUCCESS ]]; then
if [[ $CM_BRANCH == "master" ]]; then
# deploy to production
wrangler pages publish android/app/build/outputs/apk/release --project-name tailchat --branch main
else
wrangler pages publish android/app/build/outputs/apk/release --project-name tailchat --branch $CM_BRANCH
fi
fi
- name: Notify artifact URL to Tailchat
script: |
node scripts/notify-links.js
ios:
name: build, test & publish iOS version
instance_type: mac_mini_m1
working_directory: client/mobile
environment:
groups:
- default
- cloudflare_credentials
cache:
cache_paths:
- $CM_BUILD_DIR/node_modules
scripts:
- name: Install npm dependencies
script: |
yarn
- name: Build ipa for distribution
working_directory: client/mobile/ios
script: |
xcode-project build-ipa \
--workspace "$CM_BUILD_DIR/client/mobile/ios/$XCODE_WORKSPACE" \
--scheme "$XCODE_SCHEME"
artifacts:
- build/ios/ipa/*.ipa
publishing:
email:
recipients:
- moonrailgun@gmail.com
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化