name: 'build iOS' description: 'build iOS package' inputs: name: required: true APP_STORE_CONNECT_TEAM_ID: 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: required: true PROVISIONING_PROFILE_SPECIFIER: required: true TEMP_KEYCHAIN_PASSWORD: required: true TEMP_KEYCHAIN_USER: required: true APPLE_KEY_ID: required: true APPLE_ISSUER_ID: required: true APPLE_KEY_CONTENT: required: true runs: using: "composite" steps: - uses: ./.github/actions/build-love - name: Checkout source codes uses: actions/checkout@v2 with: repository: '26F-Studio/Techmino-iOS' path: 'Techmino-iOS' - name: Download CCloader uses: ./.github/actions/get-cc with: arch: iOS # - name: Create and config keychain # shell: bash # run: | # security create-keychain -p "" build.keychain # security list-keychains -s build.keychain # security default-keychain -s build.keychain # security unlock-keychain -p "" build.keychain # security set-keychain-settings # security import <(echo ${{inputs.IOS_CERTIFICATE}} | base64 --decode) \ # -f pkcs12 \ # -k build.keychain \ # -P ${{inputs.IOS_CERTIFICATE_PWD}} \ # -T /usr/bin/codesign # security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain # - name: Import provisioning profile # shell: bash # run: | # mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles # echo "${{inputs.IOS_PROFILE}}" | base64 --decode > \ # ~/Library/MobileDevice/Provisioning\ Profiles/dist.mobileprovision # echo "${{inputs.IOS_PROFILE_DEV}}" | base64 --decode > \ # ~/Library/MobileDevice/Provisioning\ Profiles/dev.mobileprovision # - name: Sign and chmod CCloader # shell: bash # run: | # security unlock-keychain -p "" build.keychain # codesign -f -s "${{inputs.IOS_CERTIFICATE_ID}}" ./CCloader.dylib # chmod +x ./CCloader.dylib - name: Update source codes shell: bash run: | mv Techmino.love Techmino-iOS/platform/xcode mv libcold_clear.a Techmino-iOS/platform/xcode mv libCCloader.a Techmino-iOS/platform/xcode python3 .github/workflows/updateVersion.py -T iOS -N ${{ inputs.name }} - name: Run fastlane uses: maierj/fastlane-action@v2.0.1 with: lane: 'alpha' 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 }}' 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 }}' # - name: Build project # shell: bash # run: | # xcodebuild -project Techmino-iOS/platform/xcode/Techmino.xcodeproj \ # -scheme Techmino \ # -configuration Release \ # -quiet \ # CONFIGURATION_BUILD_DIR=Build # - name: Arrange build # shell: bash # run: | # mv Techmino-iOS/platform/xcode/Build/Techmino.app ./ # - name: Archive project # shell: bash # run: | # xcodebuild -project Techmino-iOS/platform/xcode/Techmino.xcodeproj \ # -scheme Techmino \ # -configuration Distribution \ # -archivePath Techmino-iOS/Archive # -quiet \ # archive # - name: Export archive # shell: bash # run: | # xcodebuild -exportArchive \ # -archivePath Techmino-iOS/Archive \ # -exportOptionsPlist Techmino-iOS/ExportOptions.plist \ # Techmino-iOS/Export