diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index 71bf56f91f..2bc22dbfb7 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -3,6 +3,9 @@ run-name: Add Identifiers (${{ github.ref_name }}) on: workflow_dispatch: +env: + FASTLANE_SKIP_UPDATE_CHECK: true + jobs: validate: name: Validate diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index c6930d46c9..f0fcabcdd2 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -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 @@ -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 diff --git a/.github/workflows/build_loop_auto.yml b/.github/workflows/build_loop_auto.yml index 7619f088f0..d7afdf2765 100644 --- a/.github/workflows/build_loop_auto.yml +++ b/.github/workflows/build_loop_auto.yml @@ -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 @@ -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 diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index 92dff16b12..69c2f10a29 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -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: diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index b07655d5d9..1718bcd7f8 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -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