committed by
tony chen
23 changed files with 874 additions and 1 deletions
@ -0,0 +1,16 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
set -euo pipefail |
||||
|
|
||||
|
security create-keychain -p "" build.keychain |
||||
|
security list-keychains -s build.keychain |
||||
|
security default-keychain -s build.keychain |
||||
|
security unlock-keychain -p "" build.keychain |
||||
|
security set-keychain-settings |
||||
|
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > signingCertificate.p12 |
||||
|
security import signingCertificate.p12 \ |
||||
|
-f pkcs12 \ |
||||
|
-k build.keychain \ |
||||
|
-P $SIGNING_CERTIFICATE_PASSWORD \ |
||||
|
-T /usr/bin/codesign |
||||
|
security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain |
||||
@ -0,0 +1,6 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
set -euo pipefail |
||||
|
|
||||
|
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles |
||||
|
echo "$PROVISIONING_PROFILE_DATA" | base64 --decode > ~/Library/MobileDevice/Provisioning\ Profiles/profile.mobileprovision |
||||
@ -0,0 +1,100 @@ |
|||||
|
# 工作流名称 |
||||
|
name: Assemble Android Debug |
||||
|
|
||||
|
# 触发工作流程的事件 |
||||
|
on: |
||||
|
push: |
||||
|
branches: [ master ] |
||||
|
tags: [ v* ] |
||||
|
pull_request: |
||||
|
branches: [ master ] |
||||
|
|
||||
|
workflow_dispatch: |
||||
|
|
||||
|
# 工作流环境变量 |
||||
|
env: |
||||
|
# 应用的application_id |
||||
|
APP_ID: com.tarodemo |
||||
|
# 应用名称 |
||||
|
APP_NAME: Taro Demo |
||||
|
# 打包类型 |
||||
|
BUILD_TYPE: debug |
||||
|
# 版本名称 |
||||
|
VERSION_NAME: 1.0.0 |
||||
|
# 版本号 |
||||
|
VERSION_CODE: 10 |
||||
|
# 密钥库文件 |
||||
|
KEYSTORE_FILE: debug.keystore |
||||
|
# 密钥库口令 |
||||
|
KEYSTORE_PASSWORD: android |
||||
|
# 密钥库别名 |
||||
|
KEYSTORE_KEY_ALIAS: androiddebugkey |
||||
|
# 密钥库别名口令 |
||||
|
KEYSTORE_KEY_PASSWORD: android |
||||
|
|
||||
|
# 工作流作业 |
||||
|
jobs: |
||||
|
assemble: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- name: Checkout Project |
||||
|
uses: actions/checkout@v2 |
||||
|
- uses: actions/setup-java@v4 |
||||
|
with: |
||||
|
distribution: 'zulu' |
||||
|
java-version: '17' |
||||
|
- name: Cache node_modules Folder |
||||
|
uses: actions/cache@v2 |
||||
|
with: |
||||
|
path: ${{ github.workspace }}/node_modules |
||||
|
key: ${{ runner.os }}-node_modules |
||||
|
restore-keys: ${{ runner.os }}-node_modules |
||||
|
- name: Get Yarn Cache Directory Path |
||||
|
id: yarn-cache-dir-path |
||||
|
run: echo "::set-output name=dir::$(yarn cache dir)" |
||||
|
- name: Cache Yarn |
||||
|
uses: actions/cache@v2 |
||||
|
env: |
||||
|
cache-name: yarn-cache |
||||
|
with: |
||||
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-yarn- |
||||
|
- name: Install Dependencies |
||||
|
run: | |
||||
|
yarn |
||||
|
# - name: Build Taro React Native Bundle |
||||
|
# run: | |
||||
|
# yarn build:rn --platform android |
||||
|
- name: Cache Gradle |
||||
|
uses: actions/cache@v2 |
||||
|
env: |
||||
|
cache-name: gradle-cache |
||||
|
with: |
||||
|
path: ~/.gradle |
||||
|
key: ${{ runner.os }}-gradle |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-gradle |
||||
|
- name: Assemble Android ${{ env.BUILD_TYPE }} |
||||
|
run: | |
||||
|
sudo apt install -y ruby-bundler |
||||
|
cd android |
||||
|
bundle update |
||||
|
bundle exec fastlane assemble |
||||
|
env: |
||||
|
KEYSTORE_FILE: ${{ github.workspace }}/android/app/${{ env.KEYSTORE_FILE }} |
||||
|
- name: Upload Android Products |
||||
|
uses: actions/upload-artifact@v2 |
||||
|
with: |
||||
|
name: app-${{ env.BUILD_TYPE }} |
||||
|
path: ${{ github.workspace }}/android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
||||
|
- name: Upload release assets |
||||
|
uses: softprops/action-gh-release@v1 |
||||
|
if: startsWith(github.ref, 'refs/tags/') |
||||
|
with: |
||||
|
prerelease: ${{ contains(github.ref, 'beta') }} |
||||
|
files: | |
||||
|
android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
@ -0,0 +1,105 @@ |
|||||
|
# 工作流名称 |
||||
|
name: Assemble Android Release |
||||
|
|
||||
|
# 触发工作流程的事件 |
||||
|
on: |
||||
|
push: |
||||
|
branches: [ master ] |
||||
|
tags: [ v* ] |
||||
|
pull_request: |
||||
|
branches: [ master ] |
||||
|
|
||||
|
workflow_dispatch: |
||||
|
|
||||
|
# 工作流环境变量 |
||||
|
env: |
||||
|
# 应用的application_id |
||||
|
APP_ID: com.tarodemo |
||||
|
# 应用名称 |
||||
|
APP_NAME: Taro Demo |
||||
|
# 打包类型 |
||||
|
BUILD_TYPE: release |
||||
|
# 版本名称 |
||||
|
VERSION_NAME: 1.0.0 |
||||
|
# 版本号 |
||||
|
VERSION_CODE: 10 |
||||
|
# 密钥库文件 |
||||
|
KEYSTORE_FILE: debug.keystore |
||||
|
# 密钥库口令 |
||||
|
KEYSTORE_PASSWORD: android |
||||
|
# 密钥库别名 |
||||
|
KEYSTORE_KEY_ALIAS: androiddebugkey |
||||
|
# 密钥库别名口令 |
||||
|
KEYSTORE_KEY_PASSWORD: android |
||||
|
|
||||
|
# 工作流作业 |
||||
|
jobs: |
||||
|
assemble: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- name: Checkout Project |
||||
|
uses: actions/checkout@v2 |
||||
|
- uses: actions/setup-java@v4 |
||||
|
with: |
||||
|
distribution: 'zulu' |
||||
|
java-version: '17' |
||||
|
- name: Cache node_modules Folder |
||||
|
uses: actions/cache@v2 |
||||
|
with: |
||||
|
path: ${{ github.workspace }}/node_modules |
||||
|
key: ${{ runner.os }}-node_modules |
||||
|
restore-keys: ${{ runner.os }}-node_modules |
||||
|
- name: Get Yarn Cache Directory Path |
||||
|
id: yarn-cache-dir-path |
||||
|
run: echo "::set-output name=dir::$(yarn cache dir)" |
||||
|
- name: Cache Yarn |
||||
|
uses: actions/cache@v2 |
||||
|
env: |
||||
|
cache-name: yarn-cache |
||||
|
with: |
||||
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-yarn- |
||||
|
- name: Install Dependencies |
||||
|
run: | |
||||
|
yarn |
||||
|
# - name: Build Taro React Native Bundle |
||||
|
# run: | |
||||
|
# yarn build:rn --platform android |
||||
|
# - name: Upload Taro React Native Bundle |
||||
|
# uses: actions/upload-artifact@v2 |
||||
|
# with: |
||||
|
# name: taro-android-bundle |
||||
|
# path: ${{ github.workspace }}/android/app/src/main/assets/index.android.bundle |
||||
|
- name: Cache Gradle |
||||
|
uses: actions/cache@v2 |
||||
|
env: |
||||
|
cache-name: gradle-cache |
||||
|
with: |
||||
|
path: ~/.gradle |
||||
|
key: ${{ runner.os }}-gradle |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-gradle |
||||
|
- name: Assemble Android ${{ env.BUILD_TYPE }} |
||||
|
run: | |
||||
|
sudo apt install -y ruby-bundler |
||||
|
cd android |
||||
|
bundle update |
||||
|
bundle exec fastlane assemble |
||||
|
env: |
||||
|
KEYSTORE_FILE: ${{ github.workspace }}/android/app/${{ env.KEYSTORE_FILE }} |
||||
|
- name: Upload Android Products |
||||
|
uses: actions/upload-artifact@v2 |
||||
|
with: |
||||
|
name: app-${{ env.BUILD_TYPE }} |
||||
|
path: ${{ github.workspace }}/android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
||||
|
- name: Upload release assets |
||||
|
uses: softprops/action-gh-release@v1 |
||||
|
if: startsWith(github.ref, 'refs/tags/') |
||||
|
with: |
||||
|
prerelease: ${{ contains(github.ref, 'beta') }} |
||||
|
files: | |
||||
|
android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
@ -0,0 +1,113 @@ |
|||||
|
# 工作流名称 |
||||
|
name: Assemble Ios Debug |
||||
|
|
||||
|
# 触发工作流程的事件 |
||||
|
on: |
||||
|
push: |
||||
|
branches: [ master ] |
||||
|
tags: [ v* ] |
||||
|
pull_request: |
||||
|
branches: [ master ] |
||||
|
|
||||
|
workflow_dispatch: |
||||
|
|
||||
|
# 工作流环境变量 |
||||
|
env: |
||||
|
# 应用的application_id |
||||
|
APP_ID: ${{secrets.APP_ID}} |
||||
|
APP_NAME: Taro Demo |
||||
|
VERSION_NUMBER: 1.0.0 |
||||
|
BUILD_TYPE: debug |
||||
|
TEAM_ID: ${{secrets.TEAM_ID}} |
||||
|
PROVISIONING_PROFILE_SPECIFIER: ${{secrets.DEBUG_PROVISIONING_PROFILE_SPECIFIER}} |
||||
|
CODE_SIGN_IDENTITY: Apple Development |
||||
|
SIGNING_CERTIFICATE_P12_DATA: ${{secrets.DEBUG_SIGNING_CERTIFICATE_P12_DATA}} |
||||
|
SIGNING_CERTIFICATE_PASSWORD: ${{secrets.DEBUG_SIGNING_CERTIFICATE_PASSWORD}} |
||||
|
PROVISIONING_PROFILE_DATA: ${{secrets.DEBUG_PROVISIONING_PROFILE_DATA}} |
||||
|
|
||||
|
jobs: |
||||
|
assemble: |
||||
|
runs-on: macos-13 |
||||
|
steps: |
||||
|
- name: Checkout Project |
||||
|
uses: actions/checkout@v2 |
||||
|
- name: Cache node_modules Folder |
||||
|
uses: actions/cache@v2 |
||||
|
with: |
||||
|
path: ${{ github.workspace }}/node_modules |
||||
|
key: ${{ runner.os }}-node_modules |
||||
|
restore-keys: ${{ runner.os }}-node_modules |
||||
|
- name: Get Yarn Cache Directory Path |
||||
|
id: yarn-cache-dir-path |
||||
|
run: echo "::set-output name=dir::$(yarn cache dir)" |
||||
|
- name: Cache Yarn |
||||
|
uses: actions/cache@v2 |
||||
|
env: |
||||
|
cache-name: yarn-cache |
||||
|
with: |
||||
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-yarn- |
||||
|
- name: Cache Pods |
||||
|
uses: actions/cache@v2 |
||||
|
with: |
||||
|
path: ios/Pods |
||||
|
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-pods- |
||||
|
- name: Install Dependencies |
||||
|
run: | |
||||
|
yarn |
||||
|
# - name: Build Taro React Native Bundle |
||||
|
# run: | |
||||
|
# yarn build:rn --platform ios |
||||
|
- name: Install pods |
||||
|
run: cd ios && pod update --no-repo-update |
||||
|
- name: Import signing certificate |
||||
|
env: |
||||
|
SIGNING_CERTIFICATE_P12_DATA: ${{ env.SIGNING_CERTIFICATE_P12_DATA }} |
||||
|
SIGNING_CERTIFICATE_PASSWORD: ${{ env.SIGNING_CERTIFICATE_PASSWORD }} |
||||
|
run: | |
||||
|
exec .github/scripts/import-certificate.sh |
||||
|
- name: Import provisioning profile |
||||
|
env: |
||||
|
PROVISIONING_PROFILE_DATA: ${{ env.PROVISIONING_PROFILE_DATA }} |
||||
|
run: | |
||||
|
exec .github/scripts/import-profile.sh |
||||
|
- name: Build app |
||||
|
env: |
||||
|
SKIP_BUNDLING: 1 |
||||
|
FL_APP_IDENTIFIER: ${{ env.APP_ID }} |
||||
|
FL_UPDATE_PLIST_DISPLAY_NAME: ${{ env.APP_NAME }} |
||||
|
FL_UPDATE_PLIST_PATH: taroDemo/Info.plist |
||||
|
FL_VERSION_NUMBER_VERSION_NUMBER: ${{ env.VERSION_NUMBER }} |
||||
|
FL_BUILD_NUMBER_BUILD_NUMBER: ${{ env.BUILD_NUMBER }} |
||||
|
FL_CODE_SIGN_IDENTITY: ${{ env.CODE_SIGN_IDENTITY }} |
||||
|
FL_PROVISIONING_PROFILE_SPECIFIER: ${{ env.PROVISIONING_PROFILE_SPECIFIER }} |
||||
|
FASTLANE_TEAM_ID: ${{ env.TEAM_ID }} |
||||
|
run: | |
||||
|
cd ios |
||||
|
bundle update |
||||
|
bundle exec fastlane build_dev |
||||
|
- name: Upload Ios Products |
||||
|
uses: actions/upload-artifact@v2 |
||||
|
with: |
||||
|
name: app-${{ env.BUILD_TYPE }} |
||||
|
path: | |
||||
|
${{ github.workspace }}/ios/taroDemo.ipa |
||||
|
${{ github.workspace }}/ios/taroDemo.app.dSYM.zip |
||||
|
- name: Rename release assets |
||||
|
run: | |
||||
|
mv ios/taroDemo.ipa ios/app-${{ env.BUILD_TYPE }}.ipa |
||||
|
mv ios/taroDemo.app.dSYM.zip ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
||||
|
- name: Upload release assets |
||||
|
uses: softprops/action-gh-release@v1 |
||||
|
if: startsWith(github.ref, 'refs/tags/') |
||||
|
with: |
||||
|
prerelease: ${{ contains(github.ref, 'beta') }} |
||||
|
files: | |
||||
|
ios/app-${{ env.BUILD_TYPE }}.ipa |
||||
|
ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
@ -0,0 +1,131 @@ |
|||||
|
# 工作流名称 |
||||
|
name: Assemble Ios Release |
||||
|
|
||||
|
# 触发工作流程的事件 |
||||
|
on: |
||||
|
push: |
||||
|
branches: [ master ] |
||||
|
tags: [ v* ] |
||||
|
pull_request: |
||||
|
branches: [ master ] |
||||
|
|
||||
|
workflow_dispatch: |
||||
|
|
||||
|
# 工作流环境变量 |
||||
|
env: |
||||
|
# 应用的application_id |
||||
|
APP_ID: ${{secrets.APP_ID}} |
||||
|
APP_NAME: Taro Demo |
||||
|
VERSION_NUMBER: 1.0.0 |
||||
|
BUILD_NUMBER: 1.0.0.0 |
||||
|
BUILD_TYPE: release |
||||
|
TEAM_ID: ${{secrets.TEAM_ID}} |
||||
|
PROVISIONING_PROFILE_SPECIFIER: ${{secrets.RELEASE_PROVISIONING_PROFILE_SPECIFIER}} |
||||
|
CODE_SIGN_IDENTITY: Apple Distribution |
||||
|
SIGNING_CERTIFICATE_P12_DATA: ${{secrets.RELEASE_SIGNING_CERTIFICATE_P12_DATA}} |
||||
|
SIGNING_CERTIFICATE_PASSWORD: ${{secrets.RELEASE_SIGNING_CERTIFICATE_PASSWORD}} |
||||
|
PROVISIONING_PROFILE_DATA: ${{secrets.RELEASE_PROVISIONING_PROFILE_DATA}} |
||||
|
APP_STORE_CONNECT_USERNAME: ${{secrets.APP_STORE_CONNECT_USERNAME}} |
||||
|
APP_STORE_CONNECT_PASSWORD: ${{secrets.APP_STORE_CONNECT_PASSWORD}} |
||||
|
|
||||
|
jobs: |
||||
|
assemble: |
||||
|
runs-on: macos-13 |
||||
|
steps: |
||||
|
- name: Get current date |
||||
|
id: date |
||||
|
run: echo "::set-output name=timestamp::$(date +'%s')" |
||||
|
- name: Checkout Project |
||||
|
uses: actions/checkout@v2 |
||||
|
- name: Cache node_modules Folder |
||||
|
uses: actions/cache@v2 |
||||
|
with: |
||||
|
path: ${{ github.workspace }}/node_modules |
||||
|
key: ${{ runner.os }}-node_modules |
||||
|
restore-keys: ${{ runner.os }}-node_modules |
||||
|
- name: Get Yarn Cache Directory Path |
||||
|
id: yarn-cache-dir-path |
||||
|
run: echo "::set-output name=dir::$(yarn cache dir)" |
||||
|
- name: Cache Yarn |
||||
|
uses: actions/cache@v2 |
||||
|
env: |
||||
|
cache-name: yarn-cache |
||||
|
with: |
||||
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |
||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-yarn- |
||||
|
- name: Cache Pods |
||||
|
uses: actions/cache@v2 |
||||
|
with: |
||||
|
path: ios/Pods |
||||
|
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-pods- |
||||
|
- name: Install Dependencies |
||||
|
run: | |
||||
|
yarn |
||||
|
# - name: Build Taro React Native Bundle |
||||
|
# run: | |
||||
|
# yarn build:rn --platform ios |
||||
|
# - name: Upload Taro React Native Bundle |
||||
|
# uses: actions/upload-artifact@v2 |
||||
|
# with: |
||||
|
# name: taro-ios-bundle |
||||
|
# path: ${{ github.workspace }}/ios/main.jsbundle |
||||
|
- name: Install pods |
||||
|
run: cd ios && pod update --no-repo-update |
||||
|
- name: Import signing certificate |
||||
|
env: |
||||
|
SIGNING_CERTIFICATE_P12_DATA: ${{ env.SIGNING_CERTIFICATE_P12_DATA }} |
||||
|
SIGNING_CERTIFICATE_PASSWORD: ${{ env.SIGNING_CERTIFICATE_PASSWORD }} |
||||
|
run: | |
||||
|
exec .github/scripts/import-certificate.sh |
||||
|
- name: Import provisioning profile |
||||
|
env: |
||||
|
PROVISIONING_PROFILE_DATA: ${{ env.PROVISIONING_PROFILE_DATA }} |
||||
|
run: | |
||||
|
exec .github/scripts/import-profile.sh |
||||
|
- name: Build app |
||||
|
env: |
||||
|
SKIP_BUNDLING: 1 |
||||
|
FL_APP_IDENTIFIER: ${{ env.APP_ID }} |
||||
|
FL_UPDATE_PLIST_DISPLAY_NAME: ${{ env.APP_NAME }} |
||||
|
FL_UPDATE_PLIST_PATH: taroDemo/Info.plist |
||||
|
FL_VERSION_NUMBER_VERSION_NUMBER: ${{ env.VERSION_NUMBER }} |
||||
|
FL_BUILD_NUMBER_BUILD_NUMBER: ${{ env.BUILD_NUMBER }}.${{steps.date.outputs.timestamp}} |
||||
|
FL_CODE_SIGN_IDENTITY: ${{ env.CODE_SIGN_IDENTITY }} |
||||
|
FL_PROVISIONING_PROFILE_SPECIFIER: ${{ env.PROVISIONING_PROFILE_SPECIFIER }} |
||||
|
FASTLANE_TEAM_ID: ${{ env.TEAM_ID }} |
||||
|
run: | |
||||
|
cd ios |
||||
|
bundle update |
||||
|
bundle exec fastlane build_release |
||||
|
- name: Upload Ios Products |
||||
|
uses: actions/upload-artifact@v2 |
||||
|
with: |
||||
|
name: app-${{ env.BUILD_TYPE }} |
||||
|
path: | |
||||
|
${{ github.workspace }}/ios/taroDemo.ipa |
||||
|
${{ github.workspace }}/ios/taroDemo.app.dSYM.zip |
||||
|
- name: Upload app to App Store Connect |
||||
|
env: |
||||
|
APP_STORE_CONNECT_USERNAME: ${{ env.APP_STORE_CONNECT_USERNAME }} |
||||
|
APP_STORE_CONNECT_PASSWORD: ${{ env.APP_STORE_CONNECT_PASSWORD }} |
||||
|
run: | |
||||
|
cd ios |
||||
|
xcrun altool --upload-app -t ios -f "taroDemo.ipa" -u "$APP_STORE_CONNECT_USERNAME" -p "$APP_STORE_CONNECT_PASSWORD" |
||||
|
- name: Rename release assets |
||||
|
run: | |
||||
|
mv ios/taroDemo.ipa ios/app-${{ env.BUILD_TYPE }}.ipa |
||||
|
mv ios/taroDemo.app.dSYM.zip ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
||||
|
- name: Upload release assets |
||||
|
uses: softprops/action-gh-release@v1 |
||||
|
if: startsWith(github.ref, 'refs/tags/') |
||||
|
with: |
||||
|
prerelease: ${{ contains(github.ref, 'beta') }} |
||||
|
files: | |
||||
|
ios/app-${{ env.BUILD_TYPE }}.ipa |
||||
|
ios/app-${{ env.BUILD_TYPE }}.app.dSYM.zip |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
@ -0,0 +1,7 @@ |
|||||
|
# frozen_string_literal: true |
||||
|
|
||||
|
source "https://rubygems.org" |
||||
|
gem 'fastlane' |
||||
|
|
||||
|
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') |
||||
|
eval_gemfile(plugins_path) if File.exist?(plugins_path) |
||||
@ -0,0 +1,222 @@ |
|||||
|
GEM |
||||
|
remote: https://rubygems.org/ |
||||
|
specs: |
||||
|
CFPropertyList (3.0.5) |
||||
|
rexml |
||||
|
addressable (2.8.0) |
||||
|
public_suffix (>= 2.0.2, < 5.0) |
||||
|
artifactory (3.0.15) |
||||
|
atomos (0.1.3) |
||||
|
aws-eventstream (1.2.0) |
||||
|
aws-partitions (1.587.0) |
||||
|
aws-sdk-core (3.130.2) |
||||
|
aws-eventstream (~> 1, >= 1.0.2) |
||||
|
aws-partitions (~> 1, >= 1.525.0) |
||||
|
aws-sigv4 (~> 1.1) |
||||
|
jmespath (~> 1.0) |
||||
|
aws-sdk-kms (1.56.0) |
||||
|
aws-sdk-core (~> 3, >= 3.127.0) |
||||
|
aws-sigv4 (~> 1.1) |
||||
|
aws-sdk-s3 (1.114.0) |
||||
|
aws-sdk-core (~> 3, >= 3.127.0) |
||||
|
aws-sdk-kms (~> 1) |
||||
|
aws-sigv4 (~> 1.4) |
||||
|
aws-sigv4 (1.5.0) |
||||
|
aws-eventstream (~> 1, >= 1.0.2) |
||||
|
babosa (1.0.4) |
||||
|
claide (1.1.0) |
||||
|
colored (1.2) |
||||
|
colored2 (3.1.2) |
||||
|
commander (4.6.0) |
||||
|
highline (~> 2.0.0) |
||||
|
declarative (0.0.20) |
||||
|
digest-crc (0.6.4) |
||||
|
rake (>= 12.0.0, < 14.0.0) |
||||
|
domain_name (0.5.20190701) |
||||
|
unf (>= 0.0.5, < 1.0.0) |
||||
|
dotenv (2.7.6) |
||||
|
emoji_regex (3.2.3) |
||||
|
excon (0.92.3) |
||||
|
faraday (1.10.0) |
||||
|
faraday-em_http (~> 1.0) |
||||
|
faraday-em_synchrony (~> 1.0) |
||||
|
faraday-excon (~> 1.1) |
||||
|
faraday-httpclient (~> 1.0) |
||||
|
faraday-multipart (~> 1.0) |
||||
|
faraday-net_http (~> 1.0) |
||||
|
faraday-net_http_persistent (~> 1.0) |
||||
|
faraday-patron (~> 1.0) |
||||
|
faraday-rack (~> 1.0) |
||||
|
faraday-retry (~> 1.0) |
||||
|
ruby2_keywords (>= 0.0.4) |
||||
|
faraday-cookie_jar (0.0.7) |
||||
|
faraday (>= 0.8.0) |
||||
|
http-cookie (~> 1.0.0) |
||||
|
faraday-em_http (1.0.0) |
||||
|
faraday-em_synchrony (1.0.0) |
||||
|
faraday-excon (1.1.0) |
||||
|
faraday-httpclient (1.0.1) |
||||
|
faraday-multipart (1.0.3) |
||||
|
multipart-post (>= 1.2, < 3) |
||||
|
faraday-net_http (1.0.1) |
||||
|
faraday-net_http_persistent (1.2.0) |
||||
|
faraday-patron (1.0.0) |
||||
|
faraday-rack (1.0.0) |
||||
|
faraday-retry (1.0.3) |
||||
|
faraday_middleware (1.2.0) |
||||
|
faraday (~> 1.0) |
||||
|
fastimage (2.2.6) |
||||
|
fastlane (2.205.2) |
||||
|
CFPropertyList (>= 2.3, < 4.0.0) |
||||
|
addressable (>= 2.8, < 3.0.0) |
||||
|
artifactory (~> 3.0) |
||||
|
aws-sdk-s3 (~> 1.0) |
||||
|
babosa (>= 1.0.3, < 2.0.0) |
||||
|
bundler (>= 1.12.0, < 3.0.0) |
||||
|
colored |
||||
|
commander (~> 4.6) |
||||
|
dotenv (>= 2.1.1, < 3.0.0) |
||||
|
emoji_regex (>= 0.1, < 4.0) |
||||
|
excon (>= 0.71.0, < 1.0.0) |
||||
|
faraday (~> 1.0) |
||||
|
faraday-cookie_jar (~> 0.0.6) |
||||
|
faraday_middleware (~> 1.0) |
||||
|
fastimage (>= 2.1.0, < 3.0.0) |
||||
|
gh_inspector (>= 1.1.2, < 2.0.0) |
||||
|
google-apis-androidpublisher_v3 (~> 0.3) |
||||
|
google-apis-playcustomapp_v1 (~> 0.1) |
||||
|
google-cloud-storage (~> 1.31) |
||||
|
highline (~> 2.0) |
||||
|
json (< 3.0.0) |
||||
|
jwt (>= 2.1.0, < 3) |
||||
|
mini_magick (>= 4.9.4, < 5.0.0) |
||||
|
multipart-post (~> 2.0.0) |
||||
|
naturally (~> 2.2) |
||||
|
optparse (~> 0.1.1) |
||||
|
plist (>= 3.1.0, < 4.0.0) |
||||
|
rubyzip (>= 2.0.0, < 3.0.0) |
||||
|
security (= 0.1.3) |
||||
|
simctl (~> 1.6.3) |
||||
|
terminal-notifier (>= 2.0.0, < 3.0.0) |
||||
|
terminal-table (>= 1.4.5, < 2.0.0) |
||||
|
tty-screen (>= 0.6.3, < 1.0.0) |
||||
|
tty-spinner (>= 0.8.0, < 1.0.0) |
||||
|
word_wrap (~> 1.0.0) |
||||
|
xcodeproj (>= 1.13.0, < 2.0.0) |
||||
|
xcpretty (~> 0.3.0) |
||||
|
xcpretty-travis-formatter (>= 0.0.3) |
||||
|
fastlane-plugin-update_android_strings (0.1.0) |
||||
|
ox |
||||
|
gh_inspector (1.1.3) |
||||
|
google-apis-androidpublisher_v3 (0.20.0) |
||||
|
google-apis-core (>= 0.4, < 2.a) |
||||
|
google-apis-core (0.4.2) |
||||
|
addressable (~> 2.5, >= 2.5.1) |
||||
|
googleauth (>= 0.16.2, < 2.a) |
||||
|
httpclient (>= 2.8.1, < 3.a) |
||||
|
mini_mime (~> 1.0) |
||||
|
representable (~> 3.0) |
||||
|
retriable (>= 2.0, < 4.a) |
||||
|
rexml |
||||
|
webrick |
||||
|
google-apis-iamcredentials_v1 (0.10.0) |
||||
|
google-apis-core (>= 0.4, < 2.a) |
||||
|
google-apis-playcustomapp_v1 (0.7.0) |
||||
|
google-apis-core (>= 0.4, < 2.a) |
||||
|
google-apis-storage_v1 (0.13.0) |
||||
|
google-apis-core (>= 0.4, < 2.a) |
||||
|
google-cloud-core (1.6.0) |
||||
|
google-cloud-env (~> 1.0) |
||||
|
google-cloud-errors (~> 1.0) |
||||
|
google-cloud-env (1.6.0) |
||||
|
faraday (>= 0.17.3, < 3.0) |
||||
|
google-cloud-errors (1.2.0) |
||||
|
google-cloud-storage (1.36.2) |
||||
|
addressable (~> 2.8) |
||||
|
digest-crc (~> 0.4) |
||||
|
google-apis-iamcredentials_v1 (~> 0.1) |
||||
|
google-apis-storage_v1 (~> 0.1) |
||||
|
google-cloud-core (~> 1.6) |
||||
|
googleauth (>= 0.16.2, < 2.a) |
||||
|
mini_mime (~> 1.0) |
||||
|
googleauth (1.1.3) |
||||
|
faraday (>= 0.17.3, < 3.a) |
||||
|
jwt (>= 1.4, < 3.0) |
||||
|
memoist (~> 0.16) |
||||
|
multi_json (~> 1.11) |
||||
|
os (>= 0.9, < 2.0) |
||||
|
signet (>= 0.16, < 2.a) |
||||
|
highline (2.0.3) |
||||
|
http-cookie (1.0.4) |
||||
|
domain_name (~> 0.5) |
||||
|
httpclient (2.8.3) |
||||
|
jmespath (1.6.1) |
||||
|
json (2.6.1) |
||||
|
jwt (2.3.0) |
||||
|
memoist (0.16.2) |
||||
|
mini_magick (4.11.0) |
||||
|
mini_mime (1.1.2) |
||||
|
multi_json (1.15.0) |
||||
|
multipart-post (2.0.0) |
||||
|
nanaimo (0.3.0) |
||||
|
naturally (2.2.1) |
||||
|
optparse (0.1.1) |
||||
|
os (1.1.4) |
||||
|
ox (2.14.11) |
||||
|
plist (3.6.0) |
||||
|
public_suffix (4.0.7) |
||||
|
rake (13.0.6) |
||||
|
representable (3.1.1) |
||||
|
declarative (< 0.1.0) |
||||
|
trailblazer-option (>= 0.1.1, < 0.2.0) |
||||
|
uber (< 0.2.0) |
||||
|
retriable (3.1.2) |
||||
|
rexml (3.2.5) |
||||
|
rouge (2.0.7) |
||||
|
ruby2_keywords (0.0.5) |
||||
|
rubyzip (2.3.2) |
||||
|
security (0.1.3) |
||||
|
signet (0.16.1) |
||||
|
addressable (~> 2.8) |
||||
|
faraday (>= 0.17.5, < 3.0) |
||||
|
jwt (>= 1.5, < 3.0) |
||||
|
multi_json (~> 1.10) |
||||
|
simctl (1.6.8) |
||||
|
CFPropertyList |
||||
|
naturally |
||||
|
terminal-notifier (2.0.0) |
||||
|
terminal-table (1.8.0) |
||||
|
unicode-display_width (~> 1.1, >= 1.1.1) |
||||
|
trailblazer-option (0.1.2) |
||||
|
tty-cursor (0.7.1) |
||||
|
tty-screen (0.8.1) |
||||
|
tty-spinner (0.9.3) |
||||
|
tty-cursor (~> 0.7) |
||||
|
uber (0.1.0) |
||||
|
unf (0.1.4) |
||||
|
unf_ext |
||||
|
unf_ext (0.0.8.1) |
||||
|
unicode-display_width (1.8.0) |
||||
|
webrick (1.7.0) |
||||
|
word_wrap (1.0.0) |
||||
|
xcodeproj (1.21.0) |
||||
|
CFPropertyList (>= 2.3.3, < 4.0) |
||||
|
atomos (~> 0.1.3) |
||||
|
claide (>= 1.0.2, < 2.0) |
||||
|
colored2 (~> 3.1) |
||||
|
nanaimo (~> 0.3.0) |
||||
|
rexml (~> 3.2.4) |
||||
|
xcpretty (0.3.0) |
||||
|
rouge (~> 2.0.7) |
||||
|
xcpretty-travis-formatter (1.0.1) |
||||
|
xcpretty (~> 0.2, >= 0.0.7) |
||||
|
|
||||
|
PLATFORMS |
||||
|
universal-darwin-21 |
||||
|
|
||||
|
DEPENDENCIES |
||||
|
fastlane |
||||
|
fastlane-plugin-update_android_strings |
||||
|
|
||||
|
BUNDLED WITH |
||||
|
2.2.27 |
||||
@ -0,0 +1,2 @@ |
|||||
|
json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one |
||||
|
package_name("com.tarodemo") # e.g. com.krausefx.app |
||||
@ -0,0 +1,43 @@ |
|||||
|
# This file contains the fastlane.tools configuration |
||||
|
# You can find the documentation at https://docs.fastlane.tools |
||||
|
# |
||||
|
# For a list of all available actions, check out |
||||
|
# |
||||
|
# https://docs.fastlane.tools/actions |
||||
|
# |
||||
|
# For a list of all available plugins, check out |
||||
|
# |
||||
|
# https://docs.fastlane.tools/plugins/available-plugins |
||||
|
# |
||||
|
|
||||
|
# Uncomment the line if you want fastlane to automatically update itself |
||||
|
# update_fastlane |
||||
|
|
||||
|
default_platform(:android) |
||||
|
|
||||
|
platform :android do |
||||
|
|
||||
|
desc "assemble" |
||||
|
lane :assemble do |
||||
|
update_android_strings( |
||||
|
xml_path: 'app/src/main/res/values/strings.xml', |
||||
|
block: lambda { |strings| |
||||
|
strings['app_name'] = ENV['APP_NAME'] |
||||
|
} |
||||
|
) |
||||
|
gradle( |
||||
|
task: "assemble", |
||||
|
build_type: ENV['BUILD_TYPE'], |
||||
|
properties: { |
||||
|
"app_id" => ENV['APP_ID'], |
||||
|
"android.injected.version.code" => ENV['VERSION_CODE'].to_i, |
||||
|
"android.injected.version.name" => ENV['VERSION_NAME'], |
||||
|
"android.injected.signing.store.file" => ENV['KEYSTORE_FILE'], |
||||
|
"android.injected.signing.store.password" => ENV['KEYSTORE_PASSWORD'], |
||||
|
"android.injected.signing.key.alias" => ENV['KEYSTORE_KEY_ALIAS'], |
||||
|
"android.injected.signing.key.password" => ENV['KEYSTORE_KEY_PASSWORD'], |
||||
|
} |
||||
|
) |
||||
|
end |
||||
|
|
||||
|
end |
||||
@ -0,0 +1,5 @@ |
|||||
|
# Autogenerated by fastlane |
||||
|
# |
||||
|
# Ensure this file is checked in to source control! |
||||
|
|
||||
|
gem 'fastlane-plugin-update_android_strings' |
||||
@ -0,0 +1,6 @@ |
|||||
|
# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app |
||||
|
# apple_id("[[APPLE_ID]]") # Your Apple email address |
||||
|
|
||||
|
|
||||
|
# For more information about the Appfile, see: |
||||
|
# https://docs.fastlane.tools/advanced/#appfile |
||||
@ -0,0 +1,56 @@ |
|||||
|
# This file contains the fastlane.tools configuration |
||||
|
# You can find the documentation at https://docs.fastlane.tools |
||||
|
# |
||||
|
# For a list of all available actions, check out |
||||
|
# |
||||
|
# https://docs.fastlane.tools/actions |
||||
|
# |
||||
|
# For a list of all available plugins, check out |
||||
|
# |
||||
|
# https://docs.fastlane.tools/plugins/available-plugins |
||||
|
# |
||||
|
|
||||
|
# Uncomment the line if you want fastlane to automatically update itself |
||||
|
# update_fastlane |
||||
|
|
||||
|
default_platform(:ios) |
||||
|
|
||||
|
platform :ios do |
||||
|
desc "Description of what the lane does" |
||||
|
lane :custom_lane do |
||||
|
# add actions here: https://docs.fastlane.tools/actions |
||||
|
end |
||||
|
|
||||
|
desc "development" |
||||
|
lane :build_dev do |options| |
||||
|
update_info_plist |
||||
|
update_code_signing_settings |
||||
|
increment_version_number |
||||
|
build_app( |
||||
|
scheme: "taroDemo", |
||||
|
workspace: "taroDemo.xcworkspace", |
||||
|
export_method: "development", |
||||
|
configuration: "Debug", |
||||
|
clean: true, |
||||
|
xcargs: "GCC_PREPROCESSOR_DEFINITIONS='$(inherited) DEBUG=1'", |
||||
|
export_options: { |
||||
|
method: "development", |
||||
|
compileBitcode: false |
||||
|
} |
||||
|
) |
||||
|
end |
||||
|
|
||||
|
desc "release" |
||||
|
lane :build_release do |options| |
||||
|
update_info_plist |
||||
|
update_code_signing_settings |
||||
|
increment_version_number |
||||
|
increment_build_number |
||||
|
build_app( |
||||
|
scheme: "taroDemo", |
||||
|
# clean: true, |
||||
|
workspace: "taroDemo.xcworkspace" |
||||
|
) |
||||
|
end |
||||
|
|
||||
|
end |
||||
@ -0,0 +1,48 @@ |
|||||
|
fastlane documentation |
||||
|
---- |
||||
|
|
||||
|
# Installation |
||||
|
|
||||
|
Make sure you have the latest version of the Xcode command line tools installed: |
||||
|
|
||||
|
```sh |
||||
|
xcode-select --install |
||||
|
``` |
||||
|
|
||||
|
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) |
||||
|
|
||||
|
# Available Actions |
||||
|
|
||||
|
## iOS |
||||
|
|
||||
|
### ios custom_lane |
||||
|
|
||||
|
```sh |
||||
|
[bundle exec] fastlane ios custom_lane |
||||
|
``` |
||||
|
|
||||
|
Description of what the lane does |
||||
|
|
||||
|
### ios build_dev |
||||
|
|
||||
|
```sh |
||||
|
[bundle exec] fastlane ios build_dev |
||||
|
``` |
||||
|
|
||||
|
development |
||||
|
|
||||
|
### ios build_release |
||||
|
|
||||
|
```sh |
||||
|
[bundle exec] fastlane ios build_release |
||||
|
``` |
||||
|
|
||||
|
release |
||||
|
|
||||
|
---- |
||||
|
|
||||
|
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. |
||||
|
|
||||
|
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). |
||||
|
|
||||
|
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). |
||||
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
Loading…
Reference in new issue