Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/add_identifiers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ run-name: Add Identifiers (${{ github.ref_name }})
on:
workflow_dispatch:

env:
FASTLANE_SKIP_UPDATE_CHECK: true

jobs:
validate:
name: Validate
Expand Down
33 changes: 31 additions & 2 deletions .github/workflows/build_loop.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
name: 4. Build Loop Manual
run-name: Build Loop Manual (${{ github.ref_name }})
name: 4. Build Loop
run-name: Build Loop (${{ github.ref_name }})
on:
workflow_dispatch:
schedule:
# Check for updates every Sunday
# Later logic builds if there are updates or if it is the 2nd Sunday of the month
- cron: "33 7 * * 0" # Sunday at UTC 7:33

env:
GH_PAT: ${{ secrets.GH_PAT }}
UPSTREAM_REPO: LoopKit/LoopWorkspace
UPSTREAM_BRANCH: ${{ github.ref_name }} # branch on upstream repository to sync from (replace with specific branch name if needed)
TARGET_BRANCH: ${{ github.ref_name }} # target branch on fork to be kept in sync
FASTLANE_SKIP_UPDATE_CHECK: true

jobs:
# use a single runner for these sequential steps
Expand Down Expand Up @@ -144,6 +149,30 @@ jobs:
echo "is_second_instance=false" >> "$GITHUB_OUTPUT"
fi

# When a scheduled run finds nothing new to build, cancel the run so it shows
# as "cancelled" instead of "success" — a green check should always mean a
# new build was made.
cancel_when_no_build:
needs: check_status
name: Cancel run when there is nothing to build
runs-on: ubuntu-26.04
permissions:
actions: write
if: |
github.event_name == 'schedule' &&
!(vars.SCHEDULED_BUILD != 'false' && needs.check_status.outputs.IS_SECOND_IN_MONTH == 'true') &&
!(vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true')
steps:
- name: Cancel the run
env:
GH_TOKEN: ${{ github.token }}
run: |
echo "Repository is up to date and no monthly build is due — cancelling this run so it is not reported as a successful build." >> "$GITHUB_STEP_SUMMARY"
gh run cancel ${{ github.run_id }} --repo ${{ github.repository }}
# Keep the job alive until the cancellation lands, so the run ends as
# "cancelled" rather than completing successfully first.
sleep 300

# Checks if Distribution certificate is present and valid, optionally nukes and
# creates new certs if the repository variable ENABLE_NUKE_CERTS == 'true'
# only run if a build is planned
Expand Down
33 changes: 3 additions & 30 deletions .github/workflows/build_loop_auto.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
name: 4. Build Loop Auto
run-name: Build Loop Auto (${{ github.ref_name }})
name: zzz Phasing Out
run-name: Phasing Out (${{ github.ref_name }})
on:
workflow_dispatch:
schedule:
# Check for updates every Sunday
# Later logic builds if there are updates or if it is the 2nd Sunday of the month
- cron: "33 7 * * 0" # Sunday at UTC 7:33

env:
GH_PAT: ${{ secrets.GH_PAT }}
UPSTREAM_REPO: LoopKit/LoopWorkspace
UPSTREAM_BRANCH: ${{ github.ref_name }} # branch on upstream repository to sync from (replace with specific branch name if needed)
TARGET_BRANCH: ${{ github.ref_name }} # target branch on fork to be kept in sync
FASTLANE_SKIP_UPDATE_CHECK: true

jobs:
# use a single runner for these sequential steps
Expand Down Expand Up @@ -148,30 +145,6 @@ jobs:
echo "is_second_instance=false" >> "$GITHUB_OUTPUT"
fi

# When a scheduled run finds nothing new to build, cancel the run so it shows
# as "cancelled" instead of "success" — a green check should always mean a
# new build was made.
cancel_when_no_build:
needs: check_status
name: Cancel run when there is nothing to build
runs-on: ubuntu-26.04
permissions:
actions: write
if: |
github.event_name == 'schedule' &&
!(vars.SCHEDULED_BUILD != 'false' && needs.check_status.outputs.IS_SECOND_IN_MONTH == 'true') &&
!(vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true')
steps:
- name: Cancel the run
env:
GH_TOKEN: ${{ github.token }}
run: |
echo "Repository is up to date and no monthly build is due — cancelling this run so it is not reported as a successful build." >> "$GITHUB_STEP_SUMMARY"
gh run cancel ${{ github.run_id }} --repo ${{ github.repository }}
# Keep the job alive until the cancellation lands, so the run ends as
# "cancelled" rather than completing successfully first.
sleep 300

# Checks if Distribution certificate is present and valid, optionally nukes and
# creates new certs if the repository variable ENABLE_NUKE_CERTS == 'true'
# only run if a build is planned
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/create_certs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ env:
FASTLANE_KEY_ID: ${{ secrets.FASTLANE_KEY_ID }}
FASTLANE_ISSUER_ID: ${{ secrets.FASTLANE_ISSUER_ID }}
FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }}
FASTLANE_SKIP_UPDATE_CHECK: true

jobs:
validate:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/validate_secrets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ name: 1. Validate Secrets
run-name: Validate Secrets (${{ github.ref_name }})
on: [workflow_call, workflow_dispatch]

env:
FASTLANE_SKIP_UPDATE_CHECK: true

jobs:
validate-access-token:
name: Access
Expand Down