Feature/octreotide algorithm #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: TestFlight Upload | ||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| build_type: | ||
| description: 'Build Type' | ||
| required: true | ||
| default: 'development' | ||
| type: choice | ||
| options: | ||
| - development | ||
| - release | ||
| env: | ||
| DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer | ||
| TEAMID: "5S2WW965AG" | ||
| FASTLANE_ISSUER_ID: "289e8063-2271-4b0a-9e3b-6376644ca657" | ||
| FASTLANE_KEY_ID: "KUT22ULSV9" | ||
| jobs: | ||
| build-and-upload: | ||
| name: Build and Upload to TestFlight | ||
| runs-on: macos-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| submodules: recursive | ||
| - name: Install Apple Certificate | ||
| env: | ||
| BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} | ||
| P12_PASSWORD: ${{ secrets.P12_PASSWORD }} | ||
| KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} | ||
| run: | | ||
| # Create keychain | ||
| security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain | ||
| security default-keychain -s build.keychain | ||
| security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain | ||
| security set-keychain-settings -t 3600 -u build.keychain | ||
| # Import certificate | ||
| echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output certificate.p12 | ||
| security import certificate.p12 -k build.keychain -P "$P12_PASSWORD" -T /usr/bin/codesign | ||
| security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain | ||
| - name: Install Ruby and Fastlane | ||
| run: | | ||
| gem install bundler | ||
| bundle install | ||
| - name: Setup Provisioning | ||
| env: | ||
| MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | ||
| FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} | ||
| run: | | ||
| # Create fastlane match config | ||
| echo "FASTLANE_KEY='$FASTLANE_KEY'" > .env | ||
| bundle exec fastlane match appstore | ||
| - name: Build and Upload | ||
| env: | ||
| MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | ||
| FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} | ||
| run: | | ||
| if [ "${{ github.event.inputs.build_type }}" = "release" ]; then | ||
| bundle exec fastlane release | ||
| else | ||
| bundle exec fastlane beta | ||
| fi | ||
| - name: Upload IPA | ||
| uses: actions/upload-artifact@v3 | ||
| with: | ||
| name: loop-ipa | ||
| path: | | ||
| Loop.ipa | ||
| ExportOptions.plist | ||
| - name: Clean up keychain | ||
| if: always() | ||
| run: | | ||
| security delete-keychain build.keychain | ||