You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/browser/automatic.md
+44-44Lines changed: 44 additions & 44 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,9 +50,30 @@ You still need to **take these actions** to ensure a recent build of the *Loop*
50
50
* Check your *GitHub* action if you ever get an email saying an automatic action failed
51
51
* 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
52
52
53
+
### Modified Design for Build Action
54
+
55
+
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.
56
+
57
+
??? question "Do you want to know more? (Click to open/close)"
58
+
**Build Action Redesign**
59
+
60
+
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.
61
+
62
+
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.
63
+
64
+
This kept your fork from getting stale. GitHub will disable your build actions if no commits have been added for 60 days.
65
+
66
+
Because this trick is no longer allowed, the creation and use of alive branches was removed.
67
+
68
+
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.
69
+
70
+
71
+
53
72
### Successful Weekly Action
54
73
55
-
Normally, you will see a successful `build action` once a week. This happens every Wednesday.
74
+
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).
75
+
76
+
> 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.
56
77
57
78
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.
58
79
@@ -64,7 +85,9 @@ In that case, you should check your favorite information site to find out what t
64
85
65
86
### Successful Monthly Action
66
87
67
-
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.
88
+
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.
89
+
90
+
> 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.
68
91
69
92
!!! important "You Get No Warning if Repository Build Action is Disabled"
70
93
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.
@@ -75,35 +98,15 @@ You start getting [Notifications](../operation/features/notifications.md#loop-ap
75
98
76
99
### What are the `alive branches`?
77
100
78
-
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.
79
-
80
-
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.
81
-
82
-
* GitHub keeps track of repositories
83
-
* If there is no activity in a given repository in 60 days, GitHub disables Actions
84
-
* If your Actions are disabled, you don't get automatic builds
85
-
* Clever people developed a work around for this
86
-
87
-
You may see branches called `alive`, `alive-dev` or `alive-main` in your repository.
88
-
89
-
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.
90
-
91
-
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`.
92
-
93
-
#### Automatic Creation of `alive branch`
101
+
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.
94
102
95
-
The `alive` branch you need is created automatically when you run the `Build Loop` action.
103
+
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.
96
104
97
-
!!! warning "I got an error regarding a branch with `alive` in the name"
98
-
* Sometimes you get an error about an `alive` branch
99
-
* If you do get an error, simply delete the branch and run the `Build Loop` action again
100
-
* 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
101
-
* You can delete every branch that starts with the name `alive`
102
-
* Leave the other branches alone unless a mentor directs you to take action
105
+
> * If you have alive branches (`alive`, `alive-dev` or `alive-main`) you may delete them if you choose
103
106
104
107
## Automatic Certificates
105
108
106
-
Automatic renewal of certificates is included in `Loop 3.6.0`.
109
+
Automatic renewal of certificates is included in `Loop 3.6.0` and newer versions.
107
110
108
111
### Requirements
109
112
@@ -134,22 +137,20 @@ Some Open-Source apps, in particular `Trio`, `LoopCaregiver`, `LoopFollow`, `Loo
134
137
135
138
### Open-Source App Schedule
136
139
137
-
!!! information "Changes are Coming"
138
-
We are in process of modifying when **planned** builds happen.
140
+
With the release of `Loop 3.8.2` and newer, the build schedule is updated.
139
141
140
-
The *LoopFollow* app and *Trio* app are already changed. This change will propagate to other apps in the Open-Source ecosystem.
142
+
**New schedule - there will be one automatic run of the build action each week on Sunday.**
141
143
142
-
New method - there will be one automatic run of the build action each week on Sunday.
144
+
* If no updated code is detected, the build will be skipped unless it is the **second Sunday** of the month
145
+
* If updated code is detected, the new version of the app will be built and uploaded to TestFlight
143
146
144
-
* If it is the second Sunday of the month, the app will be built and uploaded to TestFlight
145
-
* If updated code is detected, the new version of the app will be built and uploaded to TestFlight
146
-
* If no updated code is detected, the build will be skipped (except for the second Sunday of the month)
147
+
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.
147
148
148
-
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.
149
+
>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.
149
150
150
151
| Open-Source App | AutoCerts? | Weekly<br>UTC | Once a Month<br>UTC |
| <spantranslate="no">LoopFollow</span> |✅| 10:17 | same |
155
156
| <spantranslate="no">LoopFollow_Second</span> |✅| 10:27 | same |
@@ -202,7 +203,7 @@ This is an optional step. If you are happy with the automatic sync and update, y
202
203
203
204
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**.
204
205
205
-
* 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:
206
+
* If you want to manually decide when to update your repository to the latest commit, but you want the monthly builds to continue:
206
207
* create the variable `SCHEDULED_SYNC` and set it to false
207
208
* either do not create the variable `SCHEDULED_BUILD` or set it to true
208
209
* 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
@@ -214,10 +215,10 @@ This is an optional step. If you are happy with the automatic sync and update, y
| `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|
218
-
| `false` | `true` (or N/A) | keep-alive, monthly build, no auto update |
219
-
| `true` (or N/A) | `false` | keep-alive, weekly update check with auto update, only builds if update detected |
220
-
| `false` | `false` | no automatic activity, no keep-alive|
218
+
| `true` (or N/A) | `true` (or N/A) | This is the default:<br>weekly update check (auto update/build), monthly build with auto update|
219
+
| `false` | `true` (or N/A) | monthly build, no auto update |
220
+
| `true` (or N/A) | `false` | weekly update check with auto update, only builds if update detected |
221
+
| `false` | `false` | no automatic activity|
221
222
222
223
### How to configure a variable
223
224
@@ -241,10 +242,9 @@ Your build will run on the following conditions:
241
242
- Default behaviour:
242
243
- Run weekly, every Wednesday at 08:00 UTC to check for changes; if there are changes, it will update your repository and build
243
244
- 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
244
-
- Each time the action runs, it makes a keep-alive commit to the `alive` branch if necessary
245
-
- If you disable any automation (both variables set to `false`), no updates, keep-alive or building happens when `Build Loop` runs
246
-
- 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
247
-
- 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
245
+
- If you disable any automation (both variables set to `false`), no updates or building happens when `Build Loop` runs
246
+
- 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
247
+
- 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
Copy file name to clipboardExpand all lines: docs/browser/bb-errors.md
-23Lines changed: 0 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,26 +154,6 @@ Ignore the warnings - this does not affect the build.
154
154
155
155
## Rebuild Errors: Quick Reference
156
156
157
-
### `Check Upstream and Keep Alive` Error
158
-
159
-
!!! important "`Check Upstream and Keep Alive` Error"
160
-
**Error**: Your Browser Build fails and when you click on the link, you see
161
-
162
-
* **`Check Upstream and Keep Alive`** failed
163
-
164
-
**Consequence**: any required sync of your fork is skipped and build is skipped
165
-
166
-
**Solution**:
167
-
168
-
* Manually sync your fork of the repository: [Update `Fork`](bb-update.md#update-fork){: target="_blank" }
169
-
* Manually start your build: [Build](bb-update.md#build-the-app){: target="_blank" }
170
-
171
-
**Details about what happened**:
172
-
173
-
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.
174
-
175
-
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.
176
-
177
157
### Manual Enable for Build Action May be Required
178
158
179
159
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 (✅) appears beside a very short build action in which the actual build was skipped.
@@ -223,9 +203,6 @@ These are some of the most common errors to date.
223
203
1. You skipped running one of the actions
224
204
1. You need to sign a program license agreement or update a credit card at <span translate="no">Apple Developer</span>
225
205
* Be sure to read [Misleading Error Message](#misleading-error-message)
226
-
1. You got an error regarding a branch with `alive` in the name
227
-
* You can delete any branch that starts with the name `alive` and try again
228
-
* See [Automatic Creation of `alive branch`](automatic.md#automatic-creation-of-alive-branch){: target="_blank" }
0 commit comments