diff --git a/.github/actions/build-ios/action.yml b/.github/actions/build-ios/action.yml
index 3586b2f8..58084d8b 100644
--- a/.github/actions/build-ios/action.yml
+++ b/.github/actions/build-ios/action.yml
@@ -82,11 +82,10 @@ runs:
APP_IDENTIFIER: '${{ inputs.APPLE_APP_IDENTIFIER }}'
APP_PROFILE: '${{ inputs.APPLE_APP_PROFILE }}'
DEVELOPER_ACCOUNT: '${{ inputs.APPLE_DEVELOPER_ACCOUNT }}'
- MATCH_PWD: '${{ inputs.FASTLANE_MATCH_PWD }}'
- MATCH_TOKEN: '${{ inputs.FASTLANE_MATCH_TOKEN }}'
KEYCHAIN_NAME: '${{ inputs.APPLE_KEYCHAIN_NAME }}'
KEYCHAIN_PWD: '${{ inputs.APPLE_KEYCHAIN_PWD }}'
-
+ MATCH_PASSWORD: '${{ inputs.FASTLANE_MATCH_PWD }}'
+ MATCH_TOKEN: '${{ inputs.FASTLANE_MATCH_TOKEN }}'
- name: Move ipa
shell: bash
run: |
diff --git a/.github/actions/build-macos/action.yml b/.github/actions/build-macos/action.yml
index d5ef0324..c771d455 100644
--- a/.github/actions/build-macos/action.yml
+++ b/.github/actions/build-macos/action.yml
@@ -3,28 +3,34 @@ description: 'build Mac OS package'
inputs:
name:
required: true
- type:
- required: true
+ description: "Version name"
icon:
required: true
- DEVELOPER_APP_IDENTIFIER:
+ description: "App icons (.icns)"
+ APPLE_API_ID:
required: true
- MATCH_PASSWORD:
+ description: "API key ID"
+ APPLE_API_ISSUER:
required: true
- GIT_AUTHORIZATION:
+ description: "API issuer ID"
+ APPLE_API_KEY:
required: true
- TEMP_KEYCHAIN_PASSWORD:
+ description: "API key content"
+ APPLE_APP_IDENTIFIER:
required: true
- TEMP_KEYCHAIN_USER:
+ description: "Bundle ID"
+ APPLE_KEYCHAIN_NAME:
required: true
- APPLE_KEY_ID:
+ description: "Temporary keychain name"
+ APPLE_KEYCHAIN_PWD:
required: true
- APPLE_ISSUER_ID:
+ description: "Temporary keychain password"
+ FASTLANE_MATCH_PWD:
required: true
- APPLE_KEY_CONTENT:
- required: true
- BUNDLE_ID:
+ description: "Fastlane Match description password"
+ FASTLANE_MATCH_TOKEN:
required: true
+ description: "Fastlane Match Github token"
runs:
using: "composite"
steps:
@@ -44,18 +50,21 @@ runs:
lane: 'get_cert'
subdirectory: 'Techmino-macOS'
env:
- DEVELOPER_APP_IDENTIFIER: '${{ inputs.DEVELOPER_APP_IDENTIFIER }}'
- MATCH_PASSWORD: '${{ inputs.MATCH_PASSWORD }}'
- GIT_AUTHORIZATION: '${{ inputs.GIT_AUTHORIZATION }}'
- TEMP_KEYCHAIN_PASSWORD: '${{ inputs.TEMP_KEYCHAIN_PASSWORD }}'
- TEMP_KEYCHAIN_USER: '${{ inputs.TEMP_KEYCHAIN_USER }}'
- APPLE_KEY_ID: '${{ inputs.APPLE_KEY_ID }}'
- APPLE_ISSUER_ID: '${{ inputs.APPLE_ISSUER_ID }}'
- APPLE_KEY_CONTENT: '${{ inputs.APPLE_KEY_CONTENT }}'
+ API_ID: '${{ inputs.APPLE_API_ID }}'
+ API_ISSUER: '${{ inputs.APPLE_API_ISSUER }}'
+ API_KEY: '${{ inputs.APPLE_API_KEY }}'
+ APP_IDENTIFIER: '${{ inputs.APPLE_APP_IDENTIFIER }}'
+ KEYCHAIN_NAME: '${{ inputs.APPLE_KEYCHAIN_NAME }}'
+ KEYCHAIN_PWD: '${{ inputs.APPLE_KEYCHAIN_PWD }}'
+ MATCH_PASSWORD: '${{ inputs.FASTLANE_MATCH_PWD }}'
+ MATCH_TOKEN: '${{ inputs.FASTLANE_MATCH_TOKEN }}'
- name: Modify template
shell: bash
run: |
- python3 .github/workflows/updateVersion.py -T macOS_${{ inputs.type }} -N ${{ inputs.name }}
+ python3 .github/workflows/updateVersion.py -T macOS \
+ -N ${{ inputs.name }} \
+ -B ${{ inputs.APPLE_APP_IDENTIFIER }}
+
mv Techmino.love Techmino-macOS/Techmino.app/Contents/Resources
mv CCloader.dylib Techmino-macOS/Techmino.app/Contents/Frameworks
mv ${{ inputs.icon }} Techmino-macOS/Techmino.app/Contents/Resources/iconfile.icns
@@ -81,11 +90,11 @@ runs:
lane: 'make_safe'
subdirectory: 'Techmino-macOS'
env:
- APPLE_KEY_ID: '${{ inputs.APPLE_KEY_ID }}'
- APPLE_ISSUER_ID: '${{ inputs.APPLE_ISSUER_ID }}'
- APPLE_KEY_CONTENT: '${{ inputs.APPLE_KEY_CONTENT }}'
+ API_ID: '${{ inputs.APPLE_API_ID }}'
+ API_ISSUER: '${{ inputs.APPLE_API_ISSUER }}'
+ API_KEY: '${{ inputs.APPLE_API_KEY }}'
+ APP_IDENTIFIER: '${{ inputs.APPLE_APP_IDENTIFIER }}'
NOTARIZE_OBJECT: 'Techmino.app'
- BUNDLE_ID: '${{ inputs.BUNDLE_ID }}'
- name: Create DMG file
shell: bash
run: |
@@ -120,11 +129,11 @@ runs:
lane: 'make_safe'
subdirectory: 'Techmino-macOS'
env:
- APPLE_KEY_ID: '${{ inputs.APPLE_KEY_ID }}'
- APPLE_ISSUER_ID: '${{ inputs.APPLE_ISSUER_ID }}'
- APPLE_KEY_CONTENT: '${{ inputs.APPLE_KEY_CONTENT }}'
+ API_ID: '${{ inputs.APPLE_API_ID }}'
+ API_ISSUER: '${{ inputs.APPLE_API_ISSUER }}'
+ API_KEY: '${{ inputs.APPLE_API_KEY }}'
+ APP_IDENTIFIER: '${{ inputs.APPLE_APP_IDENTIFIER }}'
NOTARIZE_OBJECT: 'Techmino-macOS.dmg'
- BUNDLE_ID: '${{ inputs.BUNDLE_ID }}'
- name: Finalize
shell: bash
run: |
diff --git a/.github/build/macOS/info.plist.template b/.github/build/macOS/info.plist.template
index 039eb59f..c4f251ef 100644
--- a/.github/build/macOS/info.plist.template
+++ b/.github/build/macOS/info.plist.template
@@ -11,7 +11,7 @@
CFBundleIconFile
iconfile
CFBundleIdentifier
- org.26f-studio.Techmino.@buildType
+ @bundleId
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index 07f39446..8c9df6a9 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -100,17 +100,15 @@ jobs:
- uses: ./.github/actions/build-macos
with:
name: ${{ needs.get-info.outputs.name }}
- type: 'snapshot'
icon: .github/build/macOS/icon_snapshot.icns
- DEVELOPER_APP_IDENTIFIER: '${{ secrets.APP_IDENTIFIER_RELEASE }}'
- MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}'
- GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}'
- TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
- TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}'
- APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
- APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
- APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
- BUNDLE_ID: 'org.26f-studio.Techmino.snapshot'
+ APPLE_API_ID: '${{ secrets.APPLE_API_ID }}'
+ APPLE_API_ISSUER: '${{ secrets.APPLE_API_ISSUER }}'
+ APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}'
+ APPLE_APP_IDENTIFIER: '${{ secrets.APPLE_APP_IDENTIFIER }}'
+ APPLE_KEYCHAIN_NAME: '${{ secrets.APPLE_KEYCHAIN_NAME }}'
+ APPLE_KEYCHAIN_PWD: '${{ secrets.APPLE_KEYCHAIN_PWD }}'
+ FASTLANE_MATCH_PWD: '${{ secrets.FASTLANE_MATCH_PWD }}'
+ FASTLANE_MATCH_TOKEN: '${{ secrets.FASTLANE_MATCH_TOKEN }}'
- name: Upload
uses: actions/upload-artifact@v2
with:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 47f38fa4..0ed3e21c 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -157,17 +157,15 @@ jobs:
- uses: ./.github/actions/build-macos
with:
name: ${{ needs.get-info.outputs.name }}
- type: 'release'
icon: .github/build/macOS/icon.icns
- DEVELOPER_APP_IDENTIFIER: '${{ secrets.APP_IDENTIFIER_RELEASE }}'
- MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}'
- GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}'
- TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
- TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}'
- APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
- APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
- APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
- BUNDLE_ID: 'org.26f-studio.Techmino.release'
+ APPLE_API_ID: '${{ secrets.APPLE_API_ID }}'
+ APPLE_API_ISSUER: '${{ secrets.APPLE_API_ISSUER }}'
+ APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}'
+ APPLE_APP_IDENTIFIER: '${{ secrets.APPLE_APP_IDENTIFIER }}'
+ APPLE_KEYCHAIN_NAME: '${{ secrets.APPLE_KEYCHAIN_NAME }}'
+ APPLE_KEYCHAIN_PWD: '${{ secrets.APPLE_KEYCHAIN_PWD }}'
+ FASTLANE_MATCH_PWD: '${{ secrets.FASTLANE_MATCH_PWD }}'
+ FASTLANE_MATCH_TOKEN: '${{ secrets.FASTLANE_MATCH_TOKEN }}'
- name: Pack Techmino
run: |
mv Techmino.dmg Techmino.a${{ needs.get-info.outputs.release }}.macOS.dmg
diff --git a/.github/workflows/updateVersion.py b/.github/workflows/updateVersion.py
index 12f9d417..8a61ac9e 100644
--- a/.github/workflows/updateVersion.py
+++ b/.github/workflows/updateVersion.py
@@ -22,7 +22,7 @@ def updateVersion(args): #更新版本号
file.flush()
file.write(data)
-def updateMacOS(args, type): #更新macOS打包信息
+def updateMacOS(args): #更新macOS打包信息
import datetime
thisYear = str(datetime.datetime.today().year)
with open('./.github/build/macOS/info.plist.template', 'r', encoding='utf-8') as file:
@@ -30,7 +30,7 @@ def updateMacOS(args, type): #更新macOS打包信息
data = data\
.replace('@versionName', args.Name[1:])\
.replace('@thisYear', thisYear)\
- .replace('@buildType', type)
+ .replace('@bundleId', args.Bundle)
with open('./Techmino-macOS/Techmino.app/Contents/info.plist', 'w+', encoding='utf-8') as file:
file.write(data)
@@ -78,6 +78,7 @@ def updateAndroid(args, edition): #更新Android打包信息
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='用于CI更新程序各类信息')
parser.add_argument('-T', '--Type', type=str, help = '更新的种类')
+ parser.add_argument('-B', '--Bundle', type=str, help = '应用包名')
parser.add_argument('-H', '--Hash', type=str, default = False, help = 'Github提交Hash')
parser.add_argument('-C', '--Code', type=str, default = False, help = 'versionCode')
parser.add_argument('-N', '--Name', type=str, default = False, help = 'versionName')
@@ -91,10 +92,8 @@ if __name__ == '__main__':
updateVersion(args)
elif args.Type == 'Windows':
updateWindows(args)
- elif args.Type == 'macOS_release':
- updateMacOS(args, 'release')
- elif args.Type == 'macOS_dev':
- updateMacOS(args, 'dev')
+ elif args.Type == 'macOS':
+ updateMacOS(args)
elif args.Type == 'AndroidRelease':
updateAndroid(args, 'Release')
elif args.Type == 'AndroidSnapshot':