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
This commit is contained in:
YunyushuLiu
2021-10-21 17:22:23 +08:00
committed by Trebor-Huang
parent c4c6ab3130
commit 0ff2e6e273
3 changed files with 48 additions and 17 deletions

View File

@@ -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
mv Techmino-iOS/platform/xcode/Techmino.ipa Techmino.ipa

View File

@@ -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"

View File

@@ -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