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:
committed by
Trebor-Huang
parent
c4c6ab3130
commit
0ff2e6e273
17
.github/actions/build-ios/action.yml
vendored
17
.github/actions/build-ios/action.yml
vendored
@@ -3,18 +3,14 @@ description: 'build iOS package'
|
|||||||
inputs:
|
inputs:
|
||||||
name:
|
name:
|
||||||
required: true
|
required: true
|
||||||
APP_STORE_CONNECT_TEAM_ID:
|
type:
|
||||||
required: true
|
required: true
|
||||||
DEVELOPER_APP_ID:
|
DEVELOPER_APP_ID:
|
||||||
required: true
|
required: true
|
||||||
DEVELOPER_APP_IDENTIFIER:
|
DEVELOPER_APP_IDENTIFIER:
|
||||||
required: true
|
required: true
|
||||||
DEVELOPER_PORTAL_TEAM_ID:
|
|
||||||
required: true
|
|
||||||
FASTLANE_APPLE_ID:
|
FASTLANE_APPLE_ID:
|
||||||
required: true
|
required: true
|
||||||
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD:
|
|
||||||
required: true
|
|
||||||
MATCH_PASSWORD:
|
MATCH_PASSWORD:
|
||||||
required: true
|
required: true
|
||||||
GIT_AUTHORIZATION:
|
GIT_AUTHORIZATION:
|
||||||
@@ -33,6 +29,8 @@ inputs:
|
|||||||
required: true
|
required: true
|
||||||
PROJECT_BUILD_NUMBER:
|
PROJECT_BUILD_NUMBER:
|
||||||
required: true
|
required: true
|
||||||
|
PILOT_CHANGE_LOG:
|
||||||
|
required: true
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
@@ -57,15 +55,12 @@ runs:
|
|||||||
- name: Run fastlane
|
- name: Run fastlane
|
||||||
uses: maierj/fastlane-action@v2.0.1
|
uses: maierj/fastlane-action@v2.0.1
|
||||||
with:
|
with:
|
||||||
lane: 'alpha'
|
lane: '${{ inputs.type }}'
|
||||||
subdirectory: 'Techmino-iOS/platform/xcode'
|
subdirectory: 'Techmino-iOS/platform/xcode'
|
||||||
env:
|
env:
|
||||||
APP_STORE_CONNECT_TEAM_ID: '${{ inputs.APP_STORE_CONNECT_TEAM_ID }}'
|
|
||||||
DEVELOPER_APP_ID: '${{ inputs.DEVELOPER_APP_ID }}'
|
DEVELOPER_APP_ID: '${{ inputs.DEVELOPER_APP_ID }}'
|
||||||
DEVELOPER_APP_IDENTIFIER: '${{ inputs.DEVELOPER_APP_IDENTIFIER }}'
|
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_ID: '${{ inputs.FASTLANE_APPLE_ID }}'
|
||||||
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ inputs.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}'
|
|
||||||
MATCH_PASSWORD: '${{ inputs.MATCH_PASSWORD }}'
|
MATCH_PASSWORD: '${{ inputs.MATCH_PASSWORD }}'
|
||||||
GIT_AUTHORIZATION: '${{ inputs.GIT_AUTHORIZATION }}'
|
GIT_AUTHORIZATION: '${{ inputs.GIT_AUTHORIZATION }}'
|
||||||
PROVISIONING_PROFILE_SPECIFIER: '${{ inputs.PROVISIONING_PROFILE_SPECIFIER }}'
|
PROVISIONING_PROFILE_SPECIFIER: '${{ inputs.PROVISIONING_PROFILE_SPECIFIER }}'
|
||||||
@@ -75,7 +70,9 @@ runs:
|
|||||||
APPLE_ISSUER_ID: '${{ inputs.APPLE_ISSUER_ID }}'
|
APPLE_ISSUER_ID: '${{ inputs.APPLE_ISSUER_ID }}'
|
||||||
APPLE_KEY_CONTENT: '${{ inputs.APPLE_KEY_CONTENT }}'
|
APPLE_KEY_CONTENT: '${{ inputs.APPLE_KEY_CONTENT }}'
|
||||||
PROJECT_BUILD_NUMBER: '${{ inputs.PROJECT_BUILD_NUMBER }}'
|
PROJECT_BUILD_NUMBER: '${{ inputs.PROJECT_BUILD_NUMBER }}'
|
||||||
|
PILOT_CHANGE_LOG: '${{ inputs.PILOT_CHANGE_LOG }}'
|
||||||
- name: Move ipa
|
- name: Move ipa
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mv Techmino-iOS/platform/xcode/Techmino.ipa Techmino.ipa
|
mv Techmino-iOS/platform/xcode/Techmino.ipa Techmino.ipa
|
||||||
|
|
||||||
13
.github/workflows/build.yml
vendored
13
.github/workflows/build.yml
vendored
@@ -124,23 +124,22 @@ jobs:
|
|||||||
- uses: ./.github/actions/build-ios
|
- uses: ./.github/actions/build-ios
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.get-info.outputs.name }}
|
name: ${{ needs.get-info.outputs.name }}
|
||||||
APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}'
|
type: 'dev'
|
||||||
DEVELOPER_APP_ID: '${{ secrets.DEVELOPER_APP_ID }}'
|
DEVELOPER_APP_ID: '${{ secrets.APP_ID_DEV }}'
|
||||||
DEVELOPER_APP_IDENTIFIER: '${{ secrets.DEVELOPER_APP_IDENTIFIER }}'
|
DEVELOPER_APP_IDENTIFIER: '${{ secrets.APP_IDENTIFIER_DEV }}'
|
||||||
DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.DEVELOPER_PORTAL_TEAM_ID }}'
|
|
||||||
FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}'
|
FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}'
|
||||||
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}'
|
|
||||||
MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}'
|
MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}'
|
||||||
GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}'
|
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_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
|
||||||
TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}'
|
TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}'
|
||||||
APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
|
APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
|
||||||
APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
|
APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
|
||||||
APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
|
APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
|
||||||
PROJECT_BUILD_NUMBER: '${{ needs.get-info.outputs.code }}.${{ github.run_number }}'
|
PROJECT_BUILD_NUMBER: '${{ needs.get-info.outputs.code }}.${{ github.run_number }}'
|
||||||
|
PILOT_CHANGE_LOG: '${{ github.event.commits[0].message }}'
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: Techmino_${{ needs.get-info.outputs.name }}_${{ GITHUB.RUN_NUMBER }}_${{ needs.get-info.outputs.commit }}_iOS
|
name: Techmino_${{ needs.get-info.outputs.name }}_${{ GITHUB.RUN_NUMBER }}_${{ needs.get-info.outputs.commit }}_iOS
|
||||||
path: Techmino.ipa
|
path: "Techmino.ipa"
|
||||||
|
|||||||
35
.github/workflows/release.yml
vendored
35
.github/workflows/release.yml
vendored
@@ -170,6 +170,41 @@ jobs:
|
|||||||
name: ${{ needs.get-info.outputs.updateTitle }}
|
name: ${{ needs.get-info.outputs.updateTitle }}
|
||||||
files: Techmino.a${{ needs.get-info.outputs.release }}.macOS.zip
|
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:
|
build-love:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
needs: get-info
|
needs: get-info
|
||||||
|
|||||||
Reference in New Issue
Block a user