Skip to content
Open
Show file tree
Hide file tree
Changes from 2 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
88 changes: 44 additions & 44 deletions docs/browser/automatic.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,30 @@ You still need to **take these actions** to ensure a recent build of the *Loop*
* Check your *GitHub* action if you ever get an email saying an automatic action failed
* Look at your *TestFlight* app on the second of every month to make sure a new build is available for you to install when you are ready

### Modified Design for Build Action

The modified design for the build action found in `Loop v3.8.2` and newer is documented in this section. Most people do not need to know this.

??? question "Do you want to know more? (Click to open/close)"
**Build Action Redesign**

When GitHub allowed the use of alive branches with automatic addition of commits to the branch, there was an extra step in the build yml files.

This extra step committed any updates to the alive branch and if no updates were found, committed an extra commit to the alive branch if it had been 20 days since the last change.

This kept your fork from getting stale. GitHub will disable your build actions if no commits have been added for 60 days.

Because this trick is no longer allowed, the creation and use of alive branches was removed.

This removes an entire section of the build where the code is checked out multiple times to both update the alive branch and update the branch you are building. Now the code is checked out one time to update your branch if you are running main or dev, then later checked out to build if the logic indicates a build is warranted.



### Successful Weekly Action

Normally, you will see a successful `build action` once a week. This happens every Wednesday.
Normally, you will see a successful `build action` once a week. This happens every Sunday (as soon as your version is 3.8.2 or newer).

> Older code checked on Wed or first of the month, but that tends to be a very busy time for GitHub - automatic builds are shifted to Sunday.

If there are no updates to the `main` branch, your actions show a very short, successful `build action` as shown in the graphic below. It only takes about a minute because the logic says - no update then skip the build.

Expand All @@ -64,7 +85,9 @@ In that case, you should check your favorite information site to find out what t

### Successful Monthly Action

On the first day of every month, you will see a successful `build action`. The purpose of this build is to provide a recent version of the app in *TestFlight* so you are never in a situation where you have no app on your phone.
On the second Sunday of every month, you will see a longer `build action`. The purpose of this build is to provide a recent version of the app in *TestFlight* so you are never in a situation where you have no app on your phone.

> Older code built on the first of the month, but that tends to be a very busy time for GitHub - automatic builds are shifted to the second Sunday of each month.

!!! important "You Get No Warning if Repository Build Action is Disabled"
If your build action is disabled, no build actually happens, no warning email is sent and a green checkmark (✅) appears beside a very short build action in which the actual build was skipped.
Expand All @@ -75,35 +98,15 @@ You start getting [Notifications](../operation/features/notifications.md#loop-ap

### What are the `alive branches`?

The automatic update and build feature is embedded in the build_loop.yml code and uses the GitHub scheduling feature to trigger actions to run automatically.

One or more branches are added to your repository that start with the name `alive`. Don't worry about these. They are automatically created so GitHub will keep building your app automatically.

* GitHub keeps track of repositories
* If there is no activity in a given repository in 60 days, GitHub disables Actions
* If your Actions are disabled, you don't get automatic builds
* Clever people developed a work around for this

You may see branches called `alive`, `alive-dev` or `alive-main` in your repository.

The `alive` branches are there so at least one commit per month is added to an `alive` branch in your repository. That keeps your repository active to allow the automatic update and build process.

The `alive` branches are only used for the keep-alive functions. Do not build using an `alive` branch. Most people will build using the default branch of `main`.

#### Automatic Creation of `alive branch`
The alive branches stopped being when GitHub disallowed automatic updates of those branches in 2025 April. They were used to prevent your repository from becoming stale and enable continued automatic building even when the upstream repository did not have updates.

The `alive` branch you need is created automatically when you run the `Build Loop` action.
Once you update to v3.8.2 or newer, the alive branches are no longer updated and if you don't have those branches, they are no longer created.

!!! warning "I got an error regarding a branch with `alive` in the name"
* Sometimes you get an error about an `alive` branch
* If you do get an error, simply delete the branch and run the `Build Loop` action again
* Use this [GitHub link](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository#deleting-a-branch) or ask for help when deleting a branch
* You can delete every branch that starts with the name `alive`
* Leave the other branches alone unless a mentor directs you to take action
> * If you have alive branches (`alive`, `alive-dev` or `alive-main`) you may delete them if you choose

## Automatic Certificates

Automatic renewal of certificates is included in `Loop 3.6.0`.
Automatic renewal of certificates is included in `Loop 3.6.0` and newer versions.

### Requirements

Expand Down Expand Up @@ -134,22 +137,20 @@ Some Open-Source apps, in particular `Trio`, `LoopCaregiver`, `LoopFollow`, `Loo

### Open-Source App Schedule

!!! information "Changes are Coming"
We are in process of modifying when **planned** builds happen.
With the release of `Loop 3.8.2` and newer, the build schedule is updated.

The *LoopFollow* app and *Trio* app are already changed. This change will propagate to other apps in the Open-Source ecosystem.
**New schedule - there will be one automatic run of the build action each week on Sunday.**

New method - there will be one automatic run of the build action each week on Sunday.
* If no updated code is detected, the build will be skipped unless it is the **second Sunday** of the month
* If updated code is detected, the new version of the app will be built and uploaded to TestFlight

* If it is the second Sunday of the month, the app will be built and uploaded to TestFlight
* If updated code is detected, the new version of the app will be built and uploaded to TestFlight
* If no updated code is detected, the build will be skipped (except for the second Sunday of the month)
The table below indicates **planned** time for the automatic build schedule. GitHub will start the build action no earlier than the stated time but it can be delayed depending on activity at GitHub.

The table below indicates **planned** time for the automatic build schedule. For apps not yet changed to the new method, the weekly runs are on Wednesday and the monthly runs are on the 1st of each month.
> For apps not yet changed to the new method, the weekly runs are on Wednesday and the monthly runs are on the 1st of each month.

| Open-Source App | AutoCerts? | Weekly<br>UTC | Once a Month<br>UTC |
|:--|:-:|:-:|:-:|
| <span translate="no">Loop</span> | &#x2705; | 09:33 | 07:33 |
| <span translate="no">Loop</span> | &#x2705; | 07:33 | same |
| <span translate="no">LoopCaregiver</span> | &#x2705; | 13:33 | 11:33 |
| <span translate="no">LoopFollow</span> | &#x2705; | 10:17 | same |
| <span translate="no">LoopFollow_Second</span> | &#x2705; | 10:27 | same |
Expand Down Expand Up @@ -202,7 +203,7 @@ This is an optional step. If you are happy with the automatic sync and update, y

Note that the weekly and monthly `Build Loop` actions will continue, but the actions are modified if one or more of these variables is set to false. **A successful Action Log will still appear, even if no automatic activity happens**.

* If you want to manually decide when to update your repository to the latest commit, but you want the monthly builds and keep-alive to continue:
* If you want to manually decide when to update your repository to the latest commit, but you want the monthly builds to continue:
* create the variable `SCHEDULED_SYNC` and set it to false
* either do not create the variable `SCHEDULED_BUILD` or set it to true
* If you are building the `dev branch` at a time when there is a lot of activity in that branch, you may want this configuration
Expand All @@ -214,10 +215,10 @@ This is an optional step. If you are happy with the automatic sync and update, y

| <div style="width:120px">`SCHEDULED_SYNC`</div> | <div style="width:120px">`SCHEDULED_BUILD`</div> | Automatic Actions |
|---|---|---|
| `true` (or N/A) | `true` (or N/A) | This is the default:<br>keep-alive, weekly update check (auto update/build), monthly build with auto update|
| `false` | `true` (or N/A) | keep-alive, monthly build, no auto update |
| `true` (or N/A) | `false` | keep-alive, weekly update check with auto update, only builds if update detected |
| `false` | `false` | no automatic activity, no keep-alive|
| `true` (or N/A) | `true` (or N/A) | This is the default:<br>weekly update check (auto update/build), monthly build with auto update|
| `false` | `true` (or N/A) | monthly build, no auto update |
| `true` (or N/A) | `false` | weekly update check with auto update, only builds if update detected |
| `false` | `false` | no automatic activity|

### How to configure a variable

Expand All @@ -241,10 +242,9 @@ Your build will run on the following conditions:
- Default behaviour:
- Run weekly, every Wednesday at 08:00 UTC to check for changes; if there are changes, it will update your repository and build
- Run monthly, every first of the month at 06:00 UTC, if there are changes, it will update your repository; regardless of changes, it will build
- Each time the action runs, it makes a keep-alive commit to the `alive` branch if necessary
- If you disable any automation (both variables set to `false`), no updates, keep-alive or building happens when `Build Loop` runs
- If you disabled just scheduled synchronization (`SCHEDULED_SYNC` set to`false`), it will only run once a month, on the first of the month, no update will happen; keep-alive will run
- If you disabled just scheduled build (`SCHEDULED_BUILD` set to`false`), it will run once weekly, every Wednesday, to check for changes; if there are changes, it will update and build; keep-alive will run
- If you disable any automation (both variables set to `false`), no updates or building happens when `Build Loop` runs
- If you disabled just scheduled synchronization (`SCHEDULED_SYNC` set to`false`), it will only run once a month, on the first of the month, no update will happen
- If you disabled just scheduled build (`SCHEDULED_BUILD` set to`false`), it will run once weekly, every Wednesday, to check for changes; if there are changes, it will update and build

### Disable Automatic Actions

Expand Down
23 changes: 0 additions & 23 deletions docs/browser/bb-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,26 +154,6 @@ Ignore the warnings - this does not affect the build.

## Rebuild Errors: Quick Reference

### `Check Upstream and Keep Alive` Error

!!! important "`Check Upstream and Keep Alive` Error"
**Error**: Your Browser Build fails and when you click on the link, you see

* **`Check Upstream and Keep Alive`** failed

**Consequence**: any required sync of your fork is skipped and build is skipped

**Solution**:

* Manually sync your fork of the repository: [Update `Fork`](bb-update.md#update-fork){: target="_blank" }
* Manually start your build: [Build](bb-update.md#build-the-app){: target="_blank" }

**Details about what happened**:

On 21 April 2025, *GitHub* removed one of the third-party repositories that we used to keep automatic building going without action on your part. The repository was removed because it was in violation of the *GitHub* terms of service. *GitHub* disables automatic actions for repositories that have been inactive (no commits added in 60 days). For stable apps, like the *Loop* app, this third-party repository enabled a workaround to keep the builds happening.

This affected all the Open-Source apps in our community - Loop, LoopFollow, LoopCaregiver, Trio, iAPS and xDrip4iOS. The developers in our community have restored the ability to build using the Browser Build method. Stay tuned for updates to required actions in the documentation over the next few months, before we hit the 60 day limit.

### Manual Enable for Build Action May be Required

The automatic build actions continue to happen on schedule, but starting May 2025, you may find your build action disabled by *GitHub*. (This might happen every 60 days, but it might happen sooner.) In that case, no build actually happens, no warning email is sent and a green checkmark (&#x2705;) appears beside a very short build action in which the actual build was skipped.
Expand Down Expand Up @@ -223,9 +203,6 @@ These are some of the most common errors to date.
1. You skipped running one of the actions
1. You need to sign a program license agreement or update a credit card at&nbsp;<span translate="no">Apple Developer</span>
* Be sure to read [Misleading Error Message](#misleading-error-message)
1. You got an error regarding a branch with `alive` in the name
* You can delete any branch that starts with the name `alive` and try again
* See [Automatic Creation of `alive branch`](automatic.md#automatic-creation-of-alive-branch){: target="_blank" }

## Examine Annotation

Expand Down
24 changes: 22 additions & 2 deletions docs/version/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ For information about version 2 releases and compatibility between version 2 and

## Current Release

The current released version for the *Loop* app is v3.8.1 and is built from the `main` branch of LoopWorkspace. The dates and contents for releases are summarized below in reverse chronological order (so newest release information comes first).
The current released version for the *Loop* app is v3.8.2 and is built from the `main` branch of LoopWorkspace. The dates and contents for releases are summarized below in reverse chronological order (so newest release information comes first).

> When main was updated to v3.8.1 for a hotfix, the same hotfix was applied to the `dev` branch, which is at v3.9.1.
> When main was updated to v3.8.2, the same update is planned for the `dev` branch. It may take a day or two before `dev` is updated to 3.9.2.

> See [Updates in `dev`](development.md#updates-in-dev){: target="_blank" } for a summary of difference, if any, between `main` and `dev`.

Expand Down Expand Up @@ -41,6 +41,26 @@ Releases from `Loop v3.4.4` and older are reported at [*GitHub*&nbsp;_<span tran

See [Compatible Device](../build/phone.md#compatible-device){: target="_blank" }:

### Loop v3.8.2

[*Loop* v3.8.2](https://github.com/LoopKit/LoopWorkspace/releases/tag/v3.8.2) was released on 22 October 2025.

This version updates a few iOS 26 interface issues and modifies some details of the Browser Build process.

* Restore expected behavior for phones running iOS 26
* buttons should be grey not blue when inactive
* updates to Therapy Settings should be reflected after a save
* there is still a display refresh bug for SE phones, simply go to main screen and then return to Therapy Screen to see the update did happen
* the information screens for Therapy settings continue to display until dismissed
* Modify the build schedule to check for update on Sunday
* build when updates are found
* build on the second Sunday of the month
* remove the concept of alive branches
* Bring in updates from DanaKit
* Update some translations

> When main was updated to v3.8.2, the same update is planned for the `dev` branch. It may take a day or two before `dev` is updated to 3.9.2.

### Loop v3.8.1

[*Loop* v3.8.1](https://github.com/LoopKit/LoopWorkspace/releases/tag/v3.8.1) was released on 23 September 2025.
Expand Down