Build Loop main #7
This file contains 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: 4. Build Loop | |
run-name: Build Loop ${{ github.ref_name }} | |
on: | |
workflow_dispatch: | |
## Remove the "#" sign from the beginning of the line below to get automated builds on push (code changes in your repository) | |
#push: | |
## Remove the "#" sign from the beginning of the two lines below to get automated builds every two months | |
#schedule: | |
#- cron: '0 17 1 */2 *' # Runs at 17:00 UTC on the 1st in Jan, Mar, May, Jul, Sep and Nov. | |
jobs: | |
secrets: | |
uses: ./.github/workflows/validate_secrets.yml | |
secrets: inherit | |
build: | |
needs: secrets | |
runs-on: macos-14 | |
steps: | |
# Uncomment to manually select latest Xcode if needed | |
- name: Select Latest Xcode | |
run: "sudo xcode-select --switch /Applications/Xcode_15.3.app/Contents/Developer" | |
# Checks-out the repo | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
# Customize Loop: Download and apply patches | |
# See: https://www.loopandlearn.org/custom-code/#custom | |
- name: Customize Loop | |
run: | | |
/bin/bash -c "$(curl -fsSL \ | |
https://raw.githubusercontent.com/loopandlearn/lnl-scripts/main/CustomizationSelect.sh)" \ | |
omnipod_cage \ | |
dexcom_sage \ | |
dexcom_upload_readings \ | |
now_line \ | |
2002 \ | |
algorithm_experiments \ | |
testflight_expiration_warning | |
# Patch Fastlane Match to not print tables | |
- name: Patch Match Tables | |
run: find /usr/local/lib/ruby/gems -name table_printer.rb | xargs sed -i "" "/puts(Terminal::Table.new(params))/d" | |
# Sync the GitHub runner clock with the Windows time server (workaround as suggested in https://github.com/actions/runner/issues/2996) | |
- name: Sync clock | |
run: sudo sntp -sS time.windows.com | |
# Build signed Loop IPA file | |
- name: Fastlane Build & Archive | |
run: fastlane build_loop | |
env: | |
TEAMID: ${{ secrets.TEAMID }} | |
GH_PAT: ${{ secrets.GH_PAT }} | |
FASTLANE_KEY_ID: ${{ secrets.FASTLANE_KEY_ID }} | |
FASTLANE_ISSUER_ID: ${{ secrets.FASTLANE_ISSUER_ID }} | |
FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} | |
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
# Upload to TestFlight | |
- name: Fastlane upload to TestFlight | |
run: fastlane release | |
env: | |
TEAMID: ${{ secrets.TEAMID }} | |
GH_PAT: ${{ secrets.GH_PAT }} | |
FASTLANE_KEY_ID: ${{ secrets.FASTLANE_KEY_ID }} | |
FASTLANE_ISSUER_ID: ${{ secrets.FASTLANE_ISSUER_ID }} | |
FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} | |
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
# Upload IPA and Symbols | |
- name: Upload IPA and Symbol artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-artifacts | |
path: | | |
artifacts | |
buildlog |