From 0ff2e6e27339065e119b79fbe431af4b12051a3c Mon Sep 17 00:00:00 2001 From: YunyushuLiu Date: Thu, 21 Oct 2021 17:22:23 +0800 Subject: [PATCH] Implement iOS CI - Update for multiple targets - Fix wrong lane - Update Dev CI - Rename scheme - Test ad-hoc - Enable other runs - Try use if - Fix missing shell property - Fix if - Add change log support - Update apple key - Test Release [no ci] fix grammar - Release test - Only test release - New build - Test rename in fastfile - Move right ipa - Finish touching --- .github/actions/build-ios/action.yml | 17 ++++++-------- .github/workflows/build.yml | 13 +++++------ .github/workflows/release.yml | 35 ++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 17 deletions(-) diff --git a/.github/actions/build-ios/action.yml b/.github/actions/build-ios/action.yml index fc6ef0fd..a75f3cc1 100644 --- a/.github/actions/build-ios/action.yml +++ b/.github/actions/build-ios/action.yml @@ -3,18 +3,14 @@ description: 'build iOS package' inputs: name: required: true - APP_STORE_CONNECT_TEAM_ID: + type: required: true DEVELOPER_APP_ID: required: true DEVELOPER_APP_IDENTIFIER: required: true - DEVELOPER_PORTAL_TEAM_ID: - required: true FASTLANE_APPLE_ID: required: true - FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: - required: true MATCH_PASSWORD: required: true GIT_AUTHORIZATION: @@ -33,6 +29,8 @@ inputs: required: true PROJECT_BUILD_NUMBER: required: true + PILOT_CHANGE_LOG: + required: true runs: using: "composite" @@ -57,15 +55,12 @@ runs: - name: Run fastlane uses: maierj/fastlane-action@v2.0.1 with: - lane: 'alpha' + lane: '${{ inputs.type }}' subdirectory: 'Techmino-iOS/platform/xcode' env: - APP_STORE_CONNECT_TEAM_ID: '${{ inputs.APP_STORE_CONNECT_TEAM_ID }}' DEVELOPER_APP_ID: '${{ inputs.DEVELOPER_APP_ID }}' DEVELOPER_APP_IDENTIFIER: '${{ inputs.DEVELOPER_APP_IDENTIFIER }}' - DEVELOPER_PORTAL_TEAM_ID: '${{ inputs.DEVELOPER_PORTAL_TEAM_ID }}' FASTLANE_APPLE_ID: '${{ inputs.FASTLANE_APPLE_ID }}' - FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ inputs.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}' MATCH_PASSWORD: '${{ inputs.MATCH_PASSWORD }}' GIT_AUTHORIZATION: '${{ inputs.GIT_AUTHORIZATION }}' PROVISIONING_PROFILE_SPECIFIER: '${{ inputs.PROVISIONING_PROFILE_SPECIFIER }}' @@ -75,7 +70,9 @@ runs: APPLE_ISSUER_ID: '${{ inputs.APPLE_ISSUER_ID }}' APPLE_KEY_CONTENT: '${{ inputs.APPLE_KEY_CONTENT }}' PROJECT_BUILD_NUMBER: '${{ inputs.PROJECT_BUILD_NUMBER }}' + PILOT_CHANGE_LOG: '${{ inputs.PILOT_CHANGE_LOG }}' - name: Move ipa shell: bash run: | - mv Techmino-iOS/platform/xcode/Techmino.ipa Techmino.ipa \ No newline at end of file + mv Techmino-iOS/platform/xcode/Techmino.ipa Techmino.ipa + \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4b558f19..d483579c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -124,23 +124,22 @@ jobs: - uses: ./.github/actions/build-ios with: name: ${{ needs.get-info.outputs.name }} - APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}' - DEVELOPER_APP_ID: '${{ secrets.DEVELOPER_APP_ID }}' - DEVELOPER_APP_IDENTIFIER: '${{ secrets.DEVELOPER_APP_IDENTIFIER }}' - DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.DEVELOPER_PORTAL_TEAM_ID }}' + type: 'dev' + DEVELOPER_APP_ID: '${{ secrets.APP_ID_DEV }}' + DEVELOPER_APP_IDENTIFIER: '${{ secrets.APP_IDENTIFIER_DEV }}' FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}' - FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}' MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}' - PROVISIONING_PROFILE_SPECIFIER: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER }}' + PROVISIONING_PROFILE_SPECIFIER: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER_DEV }}' 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 }}' PROJECT_BUILD_NUMBER: '${{ needs.get-info.outputs.code }}.${{ github.run_number }}' + PILOT_CHANGE_LOG: '${{ github.event.commits[0].message }}' - name: Upload uses: actions/upload-artifact@v2 with: name: Techmino_${{ needs.get-info.outputs.name }}_${{ GITHUB.RUN_NUMBER }}_${{ needs.get-info.outputs.commit }}_iOS - path: Techmino.ipa + path: "Techmino.ipa" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1562b472..af55c72e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -170,6 +170,41 @@ jobs: name: ${{ needs.get-info.outputs.updateTitle }} files: Techmino.a${{ needs.get-info.outputs.release }}.macOS.zip + build-iOS: + runs-on: macos-latest + needs: get-info + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/snapshot-update + with: + commit: ${{ needs.get-info.outputs.commit }} + - uses: ./.github/actions/build-ios + with: + name: ${{ needs.get-info.outputs.name }} + type: 'release' + DEVELOPER_APP_ID: '${{ secrets.APP_ID_RELEASE }}' + DEVELOPER_APP_IDENTIFIER: '${{ secrets.APP_IDENTIFIER_RELEASE }}' + FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}' + MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' + GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}' + PROVISIONING_PROFILE_SPECIFIER: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER_RELEASE }}' + 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 }}' + PROJECT_BUILD_NUMBER: '${{ needs.get-info.outputs.code }}.${{ github.run_number }}' + PILOT_CHANGE_LOG: '${{ github.event.commits[0].message }}' + - name: Rename ipa + shell: bash + run: | + mv Techmino.ipa Techmino.a${{ needs.get-info.outputs.release }}.ipa + - name: Release + uses: softprops/action-gh-release@v1 + with: + name: ${{ needs.get-info.outputs.updateTitle }} + files: Techmino.a${{ needs.get-info.outputs.release }}.ipa + build-love: runs-on: ubuntu-20.04 needs: get-info