Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
2b8abd9
Bump version to 3.8.2
marionbarker Oct 7, 2025
c72ac5a
update submodules: mostly translations, typo fix,
marionbarker Oct 11, 2025
45248fe
fix typo and add ce, hu and uk to Scripts/define_common
marionbarker Oct 11, 2025
5c382f1
Modify the GitHub build schedule to every Sunday
marionbarker Oct 12, 2025
518a12e
update Medtronic submodule
marionbarker Oct 15, 2025
7e9ffbb
update Loop, LoopKit: iOS 26 fixes
marionbarker Oct 21, 2025
2fab28f
streamline browser build;
marionbarker Oct 22, 2025
263d703
update DanaKit: PumpManager updates 084de69...e4b4f16
marionbarker Oct 22, 2025
e02e46a
update testflight.md now that alive branches are removed
marionbarker Oct 22, 2025
0382aa0
update LoopKit: Protect against invalid immutable boluses with future…
marionbarker Oct 23, 2025
94edf58
Expand and streamline build action;
marionbarker Oct 23, 2025
e76db4a
update DanaKit: fix: missing IOB on Loop
marionbarker Oct 24, 2025
9b395f4
update submodules: Updated translations from lokalise on Fri Oct 24 1…
marionbarker Oct 24, 2025
37d4d59
update DanaKit: fix: Bolus reporter hiding on Loop during bolus
marionbarker Oct 25, 2025
d56d5c0
update DanaKit: fix lastReconciliation timestamp & sync reservoir lev…
marionbarker Oct 27, 2025
ed4bb8f
update DanaKit: correct reservoir date & prevent bad memory access
marionbarker Oct 28, 2025
bfdb2ad
update DanaKit: fix one more pump reservoir timestamp
marionbarker Oct 28, 2025
24815d4
remove submodule DanaKit
marionbarker Oct 31, 2025
c885710
update LoopKit: restore commit 2a1dfc2e;
marionbarker Oct 31, 2025
250b34d
update LoopKit: Revert pumpevent fix attempt (#577)
marionbarker Oct 31, 2025
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
282 changes: 104 additions & 178 deletions .github/workflows/build_loop.yml

Large diffs are not rendered by default.

11 changes: 2 additions & 9 deletions .github/workflows/validate_secrets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [workflow_call, workflow_dispatch]
jobs:
validate-access-token:
name: Access
runs-on: macos-15
runs-on: ubuntu-latest
env:
GH_PAT: ${{ secrets.GH_PAT }}
GH_TOKEN: ${{ secrets.GH_PAT }}
Expand Down Expand Up @@ -71,13 +71,6 @@ jobs:
exit 2
fi

validate-match-secrets:
name: Match-Secrets
needs: validate-access-token
runs-on: macos-15
env:
GH_TOKEN: ${{ secrets.GH_PAT }}
steps:
- name: Validate Match-Secrets
run: |
# Validate Match-Secrets
Expand Down Expand Up @@ -111,7 +104,7 @@ jobs:

validate-fastlane-secrets:
name: Fastlane
needs: [validate-access-token, validate-match-secrets]
needs: [validate-access-token]
runs-on: macos-15
env:
GH_PAT: ${{ secrets.GH_PAT }}
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,3 @@
[submodule "LibreTransmitter"]
path = LibreTransmitter
url = https://github.com/LoopKit/LibreTransmitter.git
[submodule "DanaKit"]
path = DanaKit
url = https://github.com/loopandlearn/DanaKit
1 change: 0 additions & 1 deletion DanaKit
Submodule DanaKit deleted from 3e606b
2 changes: 1 addition & 1 deletion LoopSupport
3 changes: 0 additions & 3 deletions LoopWorkspace.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -174,20 +174,6 @@
ReferencedContainer = "container:OmniBLE/OmniBLE.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "3E6007862D0C5D0C00B186D1"
BuildableName = "DanaKitPlugin.loopplugin"
BlueprintName = "DanaKitPlugin"
ReferencedContainer = "container:DanaKit/DanaKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
Expand Down
2 changes: 1 addition & 1 deletion OmniBLE
5 changes: 4 additions & 1 deletion Scripts/define_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ MESSAGE_FILE="xlate_message_file.txt"
# matches lokalise order, en plus alphabetical order by language name in English
LANGUAGES=(en \
ar \
ce \
zh-Hans \
cs \
da \
Expand All @@ -42,7 +43,8 @@ LANGUAGES=(en \
fr \
de \
he \
hi ]
hi \
hu \
it \
ja \
nb \
Expand All @@ -54,6 +56,7 @@ LANGUAGES=(en \
es \
sv \
tr \
uk \
vi \
)

Expand Down
2 changes: 1 addition & 1 deletion VersionOverride.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@

// Version [for DIY Loop]
// configure the version number in LoopWorkspace
LOOP_MARKETING_VERSION = 3.8.1
LOOP_MARKETING_VERSION = 3.8.2
CURRENT_PROJECT_VERSION = 57
12 changes: 0 additions & 12 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,6 @@ platform :ios do
]
)

previous_build_number = latest_testflight_build_number(
app_identifier: "com.#{TEAMID}.loopkit.Loop",
api_key: api_key,
)

current_build_number = previous_build_number + 1

increment_build_number(
xcodeproj: "#{GITHUB_WORKSPACE}/Loop/Loop.xcodeproj",
build_number: current_build_number
)

mapping = Actions.lane_context[
SharedValues::MATCH_PROVISIONING_PROFILE_MAPPING
]
Expand Down
42 changes: 17 additions & 25 deletions fastlane/testflight.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,10 @@ These instructions allow you to build your app without having access to a Mac.
## **Automatic Builds**
>
> The browser build **defaults to** automatically updating and building a new version of Loop according to this schedule:
> - automatically checks for updates weekly on Wednesdays and if updates are found, it will build a new version of the app
> - automatically builds once a month regardless of whether there are updates on the first of the month
> - with each scheduled run (weekly or monthly), a successful Build Loop log appears - if the time is very short, it did not need to build - only the long actions (>20 minutes) built a new Loop app
> - automatically checks for updates weekly and if updates are found, it will build a new version of the app
> - even when there are no updates, it builds on the second Sunday of the month
> - with each scheduled weekly run, a successful build log appears - if the time is very short, it did not need to build - only the long actions (>20 minutes) built a new app
>
> It also creates an alive branch, if you don't already have one. See [Why do I have an alive branch?](#why-do-i-have-an-alive-branch).
>
> The [**Optional**](#optional) section provides instructions to modify the default behavior if desired.

> **Repeat Builders**
Expand Down Expand Up @@ -191,7 +189,7 @@ You do not need to fill out the next form. That is for submitting to the app sto

## Create Building Certificates

This step is no longer required. The Build Loop function now takes care of this for you. It does not hurt to run it but is not needed.
This step is no longer required. The build action now takes care of this for you. It does not hurt to run it but is not needed.

Once a year, you will get an email from Apple indicating your certificate will expire in 30 days. You can ignore that email. When it does expire, the next time an automatic or manual build happens, the expired certificate information will be removed (nuked) from your Match-Secrets repository and a new one created. This should happen without you needing to take any action.

Expand All @@ -212,13 +210,7 @@ Please refer to [LoopDocs: TestFlight Overview](https://loopkit.github.io/loopdo

## Automatic Build FAQs

### Why do I have an `alive` branch?

If a GitHub repository has no activity (no commits are made) in 60 days, then GitHub disables the ability to use automated actions for that repository. We need to take action more frequently than that or the automated build process won't work.

The updated `build_loop.yml` file uses a special branch called `alive` and adds a dummy commit to the `alive` branch at regular intervals. This "trick" keeps the Actions enabled so the automated build works.

The branch `alive` is created automatically for you. Do not delete or rename it! Do not modify `alive` yourself; it is not used for building the app.
If a GitHub repository has no activity (no commits are made) in 60 days, then GitHub disables the ability to use automated actions for that repository. You may need to manually enable your build action and manually execute it when your fork becomes stale.

## OPTIONAL

Expand Down Expand Up @@ -248,18 +240,18 @@ You can modify the automation by creating and using some variables.

To configure the automated build more granularly involves creating up to two environment variables: `SCHEDULED_BUILD` and/or `SCHEDULED_SYNC`. See [How to configure a variable](#how-to-configure-a-variable).

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**.
Note that the weekly build 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: set `SCHEDULED_SYNC` to false and either do not create `SCHEDULED_BUILD` or set it to true
* If you want to manually decide when to update your repository to the latest commit, but you want the monthly builds to continue: set `SCHEDULED_SYNC` to false and either do not create `SCHEDULED_BUILD` or set it to true
* If you want to only build when an update has been found: set `SCHEDULED_BUILD` to false and either do not create `SCHEDULED_SYNC` or set it to true
* **Warning**: if no updates to your default branch are detected within 90 days, your previous TestFlight build may expire requiring a manual build

|`SCHEDULED_SYNC`|`SCHEDULED_BUILD`|Automatic Actions|
|---|---|---|
| `true` (or NA) | `true` (or NA) | keep-alive, weekly update check (auto update/build), monthly build with auto update|
| `true` (or NA) | `false` | keep-alive, weekly update check with auto update, only builds if update detected|
| `false` | `true` (or NA) | keep-alive, monthly build, no auto update |
| `false` | `false` | no automatic activity, no keep-alive|
| `true` (or NA) | `true` (or NA) | weekly update check (auto update/build), monthly build with auto update|
| `true` (or NA) | `false` | weekly update check with auto update, only builds if update detected|
| `false` | `true` (or NA) | monthly build, no auto update |
| `false` | `false` | no automatic activity|

### How to configure a variable

Expand All @@ -280,12 +272,12 @@ Note that the weekly and monthly Build Loop actions will continue, but the actio

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
- Run weekly every Sunday
- If updates are detected, it will update your repository and build
- If it is the second Sunday of the month, it will build even when no changes are detected
- If you disable any automation (both variables set to `false`), no updates or building happens when the build action runs
- If you disabled just scheduled synchronization (`SCHEDULED_SYNC` set to`false`), it will still build once a month, but no update will happen
- If you disabled just scheduled build (`SCHEDULED_BUILD` set to`false`), it will run once weekly, to check for changes; if there are changes, it will update and build

## What if I build using more than one GitHub username

Expand Down