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':