From 7254f51e9d4836a2047efbe1137ef9799887e7a6 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 20 Mar 2023 22:46:12 -0500 Subject: [PATCH 001/131] Bring in MinimedKit project fix --- MinimedKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MinimedKit b/MinimedKit index 849192656..f7b4cf5eb 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit 84919265689737292c3a18dfa0ff9113d69a6e7d +Subproject commit f7b4cf5eb1cf916b77794dce28dc03db73d26931 From c363966e3b9879c25fedd2e746c832eab80a41ff Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 24 Mar 2023 11:32:40 -0500 Subject: [PATCH 002/131] Add debug log to TidepoolKit --- TidepoolKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TidepoolKit b/TidepoolKit index b410a88ab..053a3bf71 160000 --- a/TidepoolKit +++ b/TidepoolKit @@ -1 +1 @@ -Subproject commit b410a88ab85bf3f1311170f08604fa1ede904c2e +Subproject commit 053a3bf713b455ea9f5b95ab1a107de7ecd9d90b From c594baa5411e48f6eabd20d97edb17b7b3e048b9 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 24 Mar 2023 12:09:12 -0500 Subject: [PATCH 003/131] TidepoolKit and TidepoolService updates --- .../xcschemes/LoopWorkspace.xcscheme | 22 ++++++++++++++++++- TidepoolKit | 2 +- TidepoolService | 2 +- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 00fa61ad1..087a77d06 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -224,7 +224,7 @@ buildForAnalyzing = "YES"> @@ -535,6 +535,26 @@ ReferencedContainer = "container:OmniKit/OmniKit.xcodeproj"> + + + + + + + + Date: Fri, 24 Mar 2023 12:12:05 -0500 Subject: [PATCH 004/131] Fix double inclusion of ru, and add hi locale --- Scripts/export_localizations.sh | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/Scripts/export_localizations.sh b/Scripts/export_localizations.sh index 46619d2bc..7b850b20a 100755 --- a/Scripts/export_localizations.sh +++ b/Scripts/export_localizations.sh @@ -5,7 +5,7 @@ set -u : "$LOKALISE_TOKEN" -LANGUAGES=(ar cs ru en zh-Hans nl fr de it nb pl ru es ja pt-BR vi da sv fi ro tr he sk) +LANGUAGES=(ar cs ru en zh-Hans nl fr de it nb pl es ja pt-BR vi da sv fi ro tr he sk hi) argstring="${LANGUAGES[@]/#/-exportLanguage }" IFS=" "; args=( $=argstring ) @@ -15,18 +15,3 @@ xcodebuild -scheme LoopWorkspace -exportLocalizations -localizationPath xclocs $ mkdir -p xliff_out find xclocs -name '*.xliff' -exec cp {} xliff_out \; -cd xliff_out - -foreach lang in $LANGUAGES - - lang_iso=$(sed "s/zh-Hans/zh_Hans/g; s/pt-BR/pt_BR/g" <<<"$lang") - - lokalise2 \ - --token $LOKALISE_TOKEN \ - --convert-placeholders=false \ - --project-id 414338966417c70d7055e2.75119857 \ - file upload \ - --file ${lang}.xliff \ - --cleanup-mode \ - --lang-iso ${lang_iso} -end From 50733df02ad3d9b45452f9ce4cc016e80b9b4ea2 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 24 Mar 2023 12:12:27 -0500 Subject: [PATCH 005/131] Update LoopKit submodule --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index 9835a29f1..708f422c8 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 9835a29f1bac9f75023f39c376479a2e6a6c8ccd +Subproject commit 708f422c8db613e56d3136435ada06d1355d53bc From b883ddbf154fc3563c714f55f611ddba537b96d8 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 24 Mar 2023 12:20:07 -0500 Subject: [PATCH 006/131] Remove TidepoolKitUI references --- TidepoolService | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TidepoolService b/TidepoolService index fe9e477d8..b805ef56e 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit fe9e477d88ff37b0b87f12e32c4cecf8cff5eef0 +Subproject commit b805ef56ea4f90de671d645e28fbba9120e1f9dd From 317037575ed4f62b32519bfe9161b736ebd5d337 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 24 Mar 2023 12:59:00 -0500 Subject: [PATCH 007/131] Ensure food entries have name set --- TidepoolService | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TidepoolService b/TidepoolService index b805ef56e..dc57a26ba 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit b805ef56ea4f90de671d645e28fbba9120e1f9dd +Subproject commit dc57a26ba61b8c65933504859f6c357dc117dc9f From 07fcc5e848c44f80dece206bbfc4741435b41fbc Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 25 Mar 2023 12:35:43 -0500 Subject: [PATCH 008/131] Tidepool carb upload fix refinement --- TidepoolKit | 2 +- TidepoolService | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TidepoolKit b/TidepoolKit index 98056a685..057bf0efa 160000 --- a/TidepoolKit +++ b/TidepoolKit @@ -1 +1 @@ -Subproject commit 98056a68594b727db327d6ff44cb62baa5f9aa99 +Subproject commit 057bf0efadca97de81f6232505a9a458b665683d diff --git a/TidepoolService b/TidepoolService index dc57a26ba..c5cd95291 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit dc57a26ba61b8c65933504859f6c357dc117dc9f +Subproject commit c5cd95291266898f82ebbd3bfaf9df37774744e6 From b471e7cb9b74321d9f1d1ad711db88ef69e82600 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 5 Apr 2023 08:20:38 -0500 Subject: [PATCH 009/131] Add initialization error logging to TidepoolService --- TidepoolService | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TidepoolService b/TidepoolService index c5cd95291..030b672af 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit c5cd95291266898f82ebbd3bfaf9df37774744e6 +Subproject commit 030b672af0aa3681ca0505faa66c6c95a2a5250f From 0343d09cb0609f48774dfef3bdaca843658de930 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 5 Apr 2023 17:57:20 -0500 Subject: [PATCH 010/131] TidepoolService updates --- TidepoolService | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TidepoolService b/TidepoolService index 030b672af..66beb59d4 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 030b672af0aa3681ca0505faa66c6c95a2a5250f +Subproject commit 66beb59d4e844b79dae9cb2213404a783938e2f0 From 5a7a181f04ae9ec804af717fed737f05e21c4fb4 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 5 Apr 2023 18:24:27 -0500 Subject: [PATCH 011/131] Omnipod ref codes fixes --- Loop | 2 +- LoopKit | 2 +- OmniBLE | 2 +- OmniKit | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Loop b/Loop index 0ea36c654..7d60a05f8 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 0ea36c654625915d8ab8f1dc261f084f294bb898 +Subproject commit 7d60a05f86ee498f374ae931d87b575f8a2fa73a diff --git a/LoopKit b/LoopKit index 708f422c8..d4456904b 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 708f422c8db613e56d3136435ada06d1355d53bc +Subproject commit d4456904bd74b4d16472e5f6ea4b9c3fa38923f8 diff --git a/OmniBLE b/OmniBLE index f21360781..24063abbf 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit f21360781c0b8eee26c531d20f1b0aa192a227f2 +Subproject commit 24063abbf669cc26ac7b150d40c227587cc4f4d3 diff --git a/OmniKit b/OmniKit index c1e0d3959..8dfb5959f 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit c1e0d395975c93d15b3f84ac21097e40b7d5d93f +Subproject commit 8dfb5959f2c9164d05e0b4e15734bb693f1fccb4 From 4a578a25c0336219d51807bafd72d1ebd3896513 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 07:32:07 -0500 Subject: [PATCH 012/131] Bring in TidepoolService and NightscoutService changes --- Loop | 2 +- LoopKit | 2 +- .../xcshareddata/swiftpm/Package.resolved | 23 +++++++++++++------ TidepoolKit | 2 +- TidepoolService | 2 +- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/Loop b/Loop index 7d60a05f8..cbcdfed49 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 7d60a05f86ee498f374ae931d87b575f8a2fa73a +Subproject commit cbcdfed496e354574ad1a084a97c9e049f19e5e8 diff --git a/LoopKit b/LoopKit index d4456904b..1bab01139 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit d4456904bd74b4d16472e5f6ea4b9c3fa38923f8 +Subproject commit 1bab011390cb8b4e3fefcf5cc356c0a794ef24bd diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 8ef5acb7a..a661631a2 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -6,7 +6,7 @@ "location" : "https://github.com/amplitude/Amplitude-iOS.git", "state" : { "branch" : "main", - "revision" : "c3cb4810a021ccd172caaed33bef5f400899f599" + "revision" : "8e1239c369e0dfe4c26f2dce1b05d093f6e18aff" } }, { @@ -14,8 +14,17 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/amplitude/analytics-connector-ios.git", "state" : { - "revision" : "b44981119e2efc0edd1d2e26831c3c4c0e0264e6", - "version" : "1.0.0" + "revision" : "d3d682a26ca6f4947ece2c2e627971bb41b940fa", + "version" : "1.0.1" + } + }, + { + "identity" : "appauth-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/openid/AppAuth-iOS", + "state" : { + "revision" : "0eadcdec4ddb121865f3d66917549194afce1f2b", + "version" : "1.6.1" } }, { @@ -32,8 +41,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/krzyzanowskim/CryptoSwift", "state" : { - "revision" : "12f2389aca4a07e0dd54c86ec23d0721ed88b8db", - "version" : "1.4.3" + "revision" : "95c18f1c1bc44d5547728621ed680850368f7a45", + "version" : "1.7.0" } }, { @@ -42,7 +51,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "54c668c7154eca0ccd7b5714e1d206e488cd1bd9" + "revision" : "20c9c51b1eb8d3f8708cabc96e89be6964d0b9f1" } }, { @@ -59,7 +68,7 @@ "location" : "https://github.com/ivanschuetz/SwiftCharts", "state" : { "branch" : "master", - "revision" : "3d011f67eccb1ffa622fbfccb1348eed80309ae8" + "revision" : "c354c1945bb35a1f01b665b22474f6db28cba4a2" } } ], diff --git a/TidepoolKit b/TidepoolKit index 057bf0efa..569b436a0 160000 --- a/TidepoolKit +++ b/TidepoolKit @@ -1 +1 @@ -Subproject commit 057bf0efadca97de81f6232505a9a458b665683d +Subproject commit 569b436a01bcafc43a6d6bec7a5fa9b25147974c diff --git a/TidepoolService b/TidepoolService index 66beb59d4..99dea0c73 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 66beb59d4e844b79dae9cb2213404a783938e2f0 +Subproject commit 99dea0c73b950254bc61da89417bab726e7a00de From ab2d5d60736a07d9854e129f7fa1c9954a578cb8 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 08:00:33 -0500 Subject: [PATCH 013/131] Fix tests --- TidepoolService | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TidepoolService b/TidepoolService index 99dea0c73..22bd78435 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 99dea0c73b950254bc61da89417bab726e7a00de +Subproject commit 22bd784353c762d29acaf6c174e6a227a6846797 From 08921f8749dee3e3888e1c1424a294f077c47901 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 08:15:24 -0500 Subject: [PATCH 014/131] Update circleci job name --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2bbb6ab20..906ed81c3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,5 +1,5 @@ jobs: - build: + build_and_test: macos: xcode: 14.1.0 steps: From 02fba8f595f372d055774a1995b6aff2386a5741 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 08:19:18 -0500 Subject: [PATCH 015/131] change default job name in circleci --- .circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 906ed81c3..14eaa5d0d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,3 +14,7 @@ jobs: name: Run Tests command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 13,OS=15.5' test | xcpretty +workflows: + build_and_test: + jobs: + - build_and_test From 4b663ed7cd03cdc14062d6dcabf0332af72ed1e2 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 08:26:56 -0500 Subject: [PATCH 016/131] Add version --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 14eaa5d0d..150a4fb5f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,8 +13,8 @@ jobs: - run: name: Run Tests command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 13,OS=15.5' test | xcpretty - workflows: + version: 2 build_and_test: jobs: - build_and_test From 6e5366ae03dfe2aced4ef99c28f6927521106096 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 09:37:37 -0500 Subject: [PATCH 017/131] Bring in RemoteCommands PRs --- Loop | 2 +- LoopKit | 2 +- NightscoutService | 2 +- TidepoolService | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Loop b/Loop index cbcdfed49..3baeaf182 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit cbcdfed496e354574ad1a084a97c9e049f19e5e8 +Subproject commit 3baeaf18219ec1b5ce13e2a6546dba89e97751ff diff --git a/LoopKit b/LoopKit index 1bab01139..38ce9b47a 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 1bab011390cb8b4e3fefcf5cc356c0a794ef24bd +Subproject commit 38ce9b47a4e579083cd91993db3ead7f43c27a92 diff --git a/NightscoutService b/NightscoutService index 1196d9e3d..4c15d9080 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 1196d9e3d659ef5e8788c760a6afacdc6f6b9009 +Subproject commit 4c15d9080f882573c385ef89dab6e19d2a9170d3 diff --git a/TidepoolService b/TidepoolService index 22bd78435..0eef22463 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 22bd784353c762d29acaf6c174e6a227a6846797 +Subproject commit 0eef2246365d981ef8fa4b5f45bb606a74875de0 From 1f1317097eacb4f41bf3857228e1616954bcc451 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 12:28:54 -0500 Subject: [PATCH 018/131] Ensure each submodule branch is at its HEAD before branching --- Scripts/import_localizations.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index 3eb54a5a3..11bfd46ae 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -35,6 +35,7 @@ for project in ${projects}; do echo "parts = $user $dir $branch" cd $dir git checkout $branch + git pull git branch -D translations || true cd - done From e3d996356d725489afe725f24b87ff8d621ae965 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 21 Apr 2023 12:29:48 -0500 Subject: [PATCH 019/131] Bring in latest translations --- AmplitudeService | 2 +- CGMBLEKit | 2 +- G7SensorKit | 2 +- LogglyService | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- NightscoutAPIClient | 2 +- NightscoutService | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index 5c77f2099..0d9a9d914 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit 5c77f20995eee141e00141065eff3579db430d9c +Subproject commit 0d9a9d9146f46263fb15fc42d16c3eadce163a7f diff --git a/CGMBLEKit b/CGMBLEKit index 5a4beb4cd..19346b5ee 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 5a4beb4cd89699cfae2d93938659cc8414e16373 +Subproject commit 19346b5ee95bddd4c1a723c649cda6d56e8a0548 diff --git a/G7SensorKit b/G7SensorKit index 14205c1f1..837178574 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 14205c1f1f16ecc3434d6c7f3f349a76176cb7f2 +Subproject commit 8371785743fa56cf6e00e4390910be0c461b9ea4 diff --git a/LogglyService b/LogglyService index 9336301bc..d79a794c6 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit 9336301bc7d4768c8442c5edd8109441a30cd60d +Subproject commit d79a794c69f743325f5920a6adc47fb3347d4f3d diff --git a/LoopKit b/LoopKit index 38ce9b47a..78fc00300 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 38ce9b47a4e579083cd91993db3ead7f43c27a92 +Subproject commit 78fc00300cac271232b44ad8b8b8f4a87a116e4d diff --git a/LoopOnboarding b/LoopOnboarding index 308097ae9..468488c75 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 308097ae9066b3f1336cfc113c3e85dda329a3a6 +Subproject commit 468488c7550237e7526685265f76d428b8f8ad62 diff --git a/LoopSupport b/LoopSupport index 40362a12e..efaefcfda 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 40362a12e3e73e40ffadef5a1252d100c5761e8e +Subproject commit efaefcfdae5afadb5841275da07ab1f74deba0fb diff --git a/NightscoutAPIClient b/NightscoutAPIClient index 68178a834..5e816a7be 160000 --- a/NightscoutAPIClient +++ b/NightscoutAPIClient @@ -1 +1 @@ -Subproject commit 68178a834e64eca04483a13af81f54911b4b40e2 +Subproject commit 5e816a7be470b705ad52c3c4faca9acc03b5666f diff --git a/NightscoutService b/NightscoutService index 4c15d9080..7a721de22 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 4c15d9080f882573c385ef89dab6e19d2a9170d3 +Subproject commit 7a721de22a6bc08bd28c9c217cc4032033773877 From a13d1facac627566ffe57716f62abaa2c3e8d1d1 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 24 Apr 2023 22:49:29 -0500 Subject: [PATCH 020/131] Readlink fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 3baeaf182..d7e107d91 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3baeaf18219ec1b5ce13e2a6546dba89e97751ff +Subproject commit d7e107d9186d8dcfbdf6dbfd8a1fb4ec87365943 From 185c6a0b70b64a4bc90b3b5a2fee9db1a4c328a5 Mon Sep 17 00:00:00 2001 From: bjornoleh <63544115+bjornoleh@users.noreply.github.com> Date: Wed, 3 May 2023 16:43:01 +0200 Subject: [PATCH 021/131] Fastfile: Add time sensitive notifications to identifier setup (#50) * Fastfile capabilities: add Time Sensitive Notifications to Loop target Spaceship::ConnectAPI::BundleIdCapability::Type::USERNOTIFICATIONS_TIMESENSITIVE * Remove instructions for manually adding Time Sensitive Notifications --- fastlane/Fastfile | 3 ++- fastlane/testflight.md | 8 -------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 44f157337..144553e0e 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -181,7 +181,8 @@ platform :ios do Spaceship::ConnectAPI::BundleIdCapability::Type::APP_GROUPS, Spaceship::ConnectAPI::BundleIdCapability::Type::HEALTHKIT, Spaceship::ConnectAPI::BundleIdCapability::Type::PUSH_NOTIFICATIONS, - Spaceship::ConnectAPI::BundleIdCapability::Type::SIRIKIT + Spaceship::ConnectAPI::BundleIdCapability::Type::SIRIKIT, + Spaceship::ConnectAPI::BundleIdCapability::Type::USERNOTIFICATIONS_TIMESENSITIVE ]) configure_bundle_id("Loop Intent Extension", "com.#{TEAMID}.loopkit.Loop.Loop-Intent-Extension", [ diff --git a/fastlane/testflight.md b/fastlane/testflight.md index aa0c6ec1b..2a44847cc 100644 --- a/fastlane/testflight.md +++ b/fastlane/testflight.md @@ -137,14 +137,6 @@ Note 2 - Depending on your build history, you may find some of the Identifiers a | WatchAppExtension | com.TEAMID.loopkit.Loop.LoopWatch.watchkitextension | -## Add Time Sensitive Notifications to Loop App ID -1. Go to [Certificates, Identifiers & Profiles](https://developer.apple.com/account/resources/identifiers/list) on the apple developer site. -1. Click on the "Loop" identifier -1. Scroll down to "Time Sensitive Notifications" -1. Tap the check box to enable Time Sensitive Notifications. -1. Click "Save". -1. Click "Confirm". - ## Create Loop App in App Store Connect If you have created a Loop app in App Store Connect before, you can skip this section. From bd105d4ac12b9c5baf3ae04d0d673a76cb4f6c09 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 3 May 2023 15:12:45 -0500 Subject: [PATCH 022/131] G7SensorKit changes --- G7SensorKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G7SensorKit b/G7SensorKit index 837178574..3781e2ee5 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 8371785743fa56cf6e00e4390910be0c461b9ea4 +Subproject commit 3781e2ee5f0507e8f0b2ce55384ac4a21dc078bd From cd71bea81324b3fc1b2fca480e9387fbe5b995d9 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 3 May 2023 17:21:11 -0500 Subject: [PATCH 023/131] Meal detection fixes for mmol/L --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index d7e107d91..512f50df7 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit d7e107d9186d8dcfbdf6dbfd8a1fb4ec87365943 +Subproject commit 512f50df78a3aa60a07bc3f2d36adc3b52971f3a diff --git a/LoopKit b/LoopKit index 78fc00300..60f804462 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 78fc00300cac271232b44ad8b8b8f4a87a116e4d +Subproject commit 60f804462a45ef78d0b5939aca6c61e88f47a3bf From 2d9c9a5537ff0c2a0ef6af7539bf70f16d55eaf3 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Thu, 4 May 2023 18:40:25 -0500 Subject: [PATCH 024/131] Reorg ps2 frameworks (#53) * Update gitmodules to point to LoopKit repos instead of ps2 repos * Moving submodules * Add renamed projects --- .gitmodules | 8 +++---- .../contents.xcworkspacedata | 6 ++--- .../xcschemes/LoopWorkspace.xcscheme | 24 +++++++++++-------- RileyLinkKit | 1 + rileylink_ios | 1 - 5 files changed, 22 insertions(+), 18 deletions(-) create mode 160000 RileyLinkKit delete mode 160000 rileylink_ios diff --git a/.gitmodules b/.gitmodules index 5df7f69a9..27c300858 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,15 +10,15 @@ [submodule "dexcom-share-client-swift"] path = dexcom-share-client-swift url = https://github.com/LoopKit/dexcom-share-client-swift.git -[submodule "rileylink_ios"] - path = rileylink_ios - url = https://github.com/ps2/rileylink_ios.git +[submodule "RileyLinkKit"] + path = RileyLinkKit + url = https://github.com/LoopKit/RileyLinkKit [submodule "MKRingProgressView"] path = MKRingProgressView url = https://github.com/LoopKit/MKRingProgressView.git [submodule "NightscoutService"] path = NightscoutService - url = https://github.com/ps2/NightscoutService.git + url = https://github.com/LoopKit/NightscoutService.git [submodule "Minizip"] path = Minizip url = https://github.com/LoopKit/Minizip.git diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index d6870b083..661695ef7 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -32,9 +32,6 @@ - - @@ -68,6 +65,9 @@ + + diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 087a77d06..5120a1a48 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -398,6 +398,20 @@ ReferencedContainer = "container:NightscoutService/NightscoutService.xcodeproj"> + + + + - - - - Date: Thu, 4 May 2023 21:46:09 -0500 Subject: [PATCH 025/131] Nightscout remote cgm rename (#54) * Update gitmodules * Update NightscoutRemoteCGM submodule references, and project references * Update submodule rev ro NightscoutRemoteCGM --- .gitmodules | 6 +++--- LoopWorkspace.xcworkspace/contents.xcworkspacedata | 4 ++-- .../xcshareddata/xcschemes/LoopWorkspace.xcscheme | 6 +++--- NightscoutAPIClient | 1 - NightscoutRemoteCGM | 1 + 5 files changed, 9 insertions(+), 9 deletions(-) delete mode 160000 NightscoutAPIClient create mode 160000 NightscoutRemoteCGM diff --git a/.gitmodules b/.gitmodules index 27c300858..b6d5b7b5d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,9 +37,9 @@ [submodule "OmniBLE"] path = OmniBLE url = https://github.com/LoopKit/OmniBLE.git -[submodule "NightscoutAPIClient"] - path = NightscoutAPIClient - url = https://github.com/LoopKit/NightscoutAPIClient.git +[submodule "NightscoutRemoteCGM"] + path = NightscoutRemoteCGM + url = https://github.com/LoopKit/NightscoutRemoteCGM.git [submodule "LoopSupport"] path = LoopSupport url = https://github.com/LoopKit/LoopSupport diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 661695ef7..b01f61dfb 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -45,10 +45,10 @@ location = "group:TidepoolService/TidepoolService.xcodeproj"> + location = "group:NightscoutRemoteCGM/NightscoutRemoteCGM.xcodeproj"> + location = "group:NightscoutService/NightscoutService.xcodeproj"> diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 5120a1a48..b4acf645a 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -337,9 +337,9 @@ + BuildableName = "NightscoutRemoteCGMPlugin.loopplugin" + BlueprintName = "NightscoutRemoteCGMPlugin" + ReferencedContainer = "container:NightscoutRemoteCGM/NightscoutRemoteCGM.xcodeproj"> Date: Sat, 6 May 2023 10:00:56 -0500 Subject: [PATCH 026/131] Always upload artifacts --- .github/workflows/build_loop.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 26ee8c1ed..efbbc3e4d 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -55,8 +55,9 @@ jobs: FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} - # Upload IPA and Symbols - - name: Upload IPA and Symbol artifacts + # Upload Build artifacts + - name: Upload build log, IPA and Symbol artifacts + if: always() uses: actions/upload-artifact@v3 with: name: build-artifacts From 201ab790db93842dc573ff51f4b2789db320db78 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 6 May 2023 11:25:32 -0500 Subject: [PATCH 027/131] Changes from Tidepool (#55) * Changes from Tidepool * Update to dev * Add merges for NightscoutRemoteCGM and G7SensorKit * Fix tests --- CGMBLEKit | 2 +- G7SensorKit | 2 +- InfoCustomizations.txt | 1 + Loop | 2 +- LoopKit | 2 +- LoopSupport | 2 +- .../contents.xcworkspacedata | 3 + MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- OmniBLE | 2 +- OmniKit | 2 +- Scripts/sync.swift | 157 ++++++++++++++++++ Scripts/update_submodule_refs.sh | 2 +- TidepoolService | 2 +- dexcom-share-client-swift | 2 +- 15 files changed, 173 insertions(+), 12 deletions(-) create mode 100644 InfoCustomizations.txt create mode 100755 Scripts/sync.swift diff --git a/CGMBLEKit b/CGMBLEKit index 19346b5ee..69d3e4f8e 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 19346b5ee95bddd4c1a723c649cda6d56e8a0548 +Subproject commit 69d3e4f8e82583c83fff40152ab551cfe4989728 diff --git a/G7SensorKit b/G7SensorKit index 3781e2ee5..eda039416 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 3781e2ee5f0507e8f0b2ce55384ac4a21dc078bd +Subproject commit eda0394169ea3a3c8781658946c00270559bc64b diff --git a/InfoCustomizations.txt b/InfoCustomizations.txt new file mode 100644 index 000000000..dc3509c64 --- /dev/null +++ b/InfoCustomizations.txt @@ -0,0 +1 @@ +TidepoolServiceClientId=diy-loop diff --git a/Loop b/Loop index 512f50df7..3d1e99fc5 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 512f50df78a3aa60a07bc3f2d36adc3b52971f3a +Subproject commit 3d1e99fc591d0e5db52c8e7313c5a3b3aff3bba4 diff --git a/LoopKit b/LoopKit index 60f804462..a78aa8ed9 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 60f804462a45ef78d0b5939aca6c61e88f47a3bf +Subproject commit a78aa8ed92f9248c22acefbdd7a54d5cf7da9e6e diff --git a/LoopSupport b/LoopSupport index efaefcfda..9253b5ffe 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit efaefcfdae5afadb5841275da07ab1f74deba0fb +Subproject commit 9253b5ffe5acc3baab33b5ff0b22ce933bf73d0f diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index b01f61dfb..7ee2530a0 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -4,6 +4,9 @@ + + diff --git a/MinimedKit b/MinimedKit index f7b4cf5eb..35204a629 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit f7b4cf5eb1cf916b77794dce28dc03db73d26931 +Subproject commit 35204a6297238ecd34ba872740d575e3c95dd0b2 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index 7f5cd6b0c..cc3e21508 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit 7f5cd6b0c792e4a1d55efb70ec638fa1232e5594 +Subproject commit cc3e21508c0c3c6ef52d0a986ae4bb863b8d2078 diff --git a/OmniBLE b/OmniBLE index 24063abbf..be85ec630 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 24063abbf669cc26ac7b150d40c227587cc4f4d3 +Subproject commit be85ec630e40b8fb8ee76cfca63c4a73617db6d7 diff --git a/OmniKit b/OmniKit index 8dfb5959f..a11bb45e3 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit 8dfb5959f2c9164d05e0b4e15734bb693f1fccb4 +Subproject commit a11bb45e32eaac2a20292c3aa69621614c0ec733 diff --git a/Scripts/sync.swift b/Scripts/sync.swift new file mode 100755 index 000000000..899ad0a6b --- /dev/null +++ b/Scripts/sync.swift @@ -0,0 +1,157 @@ +#!/usr/bin/swift sh + +// Depends on swift-sh. Install with: `brew install swift-sh` + +import Foundation +import Cocoa + +import AsyncSwiftGit // @bdewey +import OctoKit // /Users/pete/dev/octokit.swift + +struct Project { + let project: String + let branch: String + + init(_ project: String, _ branch: String) { + self.project = project + self.branch = branch + } +} + +let projects = [ + Project("Loop", "dev"), + Project("LoopKit", "dev"), + Project("CGMBLEKit", "dev"), + Project("dexcom-share-client-swift", "dev"), + //Project("RileyLinkKit", "dev"), + //Project("MKRingProgressView", "dev"), + Project("NightscoutService", "dev"), + //Project("Minizip", "dev"), + //Project("TrueTime.swift", "dev"), + Project("LoopOnboarding", "dev"), + Project("AmplitudeService", "dev"), + Project("LogglyService", "dev"), + Project("OmniBLE", "dev"), + Project("NightscoutRemoteCGM", "dev"), + Project("LoopSupport", "dev"), + Project("G7SensorKit", "dev"), + Project("TidepoolService", "dev"), + Project("TidepoolKit", "dev"), + Project("OmniKit", "main"), + Project("MinimedKit", "main") +] + +let fm = FileManager.default +let loopkit = URL(string: "https://github.com/LoopKit")! +let tidepool = URL(string: "https://github.com/tidepool-org")! +let syncBranch = "tidepool-sync" +let incomingRemote = "tidepool" + +enum EnvError: Error { + case missing(String) +} + +func getEnv(_ name: String) throws -> String { + guard let value = ProcessInfo.processInfo.environment[name] else { + throw EnvError.missing(name) + } + return value +} + +let ghUsername = try getEnv("GH_USERNAME") +let ghToken = try getEnv("GH_TOKEN") +let ghCommitterName = try getEnv("GH_COMMITTER_NAME") +let ghCommitterEmail = try getEnv("GH_COMMITTER_EMAIL") + +let octokit = Octokit(TokenConfiguration(ghToken)) + +let credentials = Credentials.plaintext(username: ghUsername, password: ghToken) +let signature = try! Signature(name: ghCommitterName, email: ghCommitterEmail) + +for project in projects { + let dest = URL(string: fm.currentDirectoryPath)!.appendingPathComponent(project.project) + let repository: AsyncSwiftGit.Repository + if !fm.fileExists(atPath: project.project) { + print("Cloning \(project.project)") + let url = loopkit.appendingPathComponent(project.project) + repository = try await Repository.clone(from: url, to: dest) + print("Cloned \(project.project)") + } else { + print("Already Exists: \(project.project)") + repository = try Repository(openAt: dest) + } + + let incomingRemoteURL = tidepool.appendingPathComponent(project.project) + + // Add remote if it doesn't exist, and fetch latest changes + if (try? repository.remoteURL(for: incomingRemote)) == nil { + try repository.addRemote(incomingRemote, url: incomingRemoteURL) + } + try await repository.fetch(remote: incomingRemote) + + // Create and checkout the branch where sync changesets will go ("tidepool-sync") + if !(try repository.branchExists(named: syncBranch)) { + try repository.createBranch(named: syncBranch, target: project.branch) + } + try await repository.checkout(revspec: syncBranch) + + // Merge changes from tidepool to diy + try await repository.merge(revisionSpecification: "\(incomingRemote)/\(project.branch)", signature: signature) + + // Push changes up to origin + let refspec = "refs/heads/" + syncBranch + ":refs/heads/" + syncBranch + print("Pushing \(refspec) to \(project.project)") + try await repository.push(remoteName: "origin", refspecs: [refspec], credentials: credentials) + + // Make sure a PR exists, or create it + let prs = try await octokit.listPullRequests(owner: "LoopKit", repo: project.project, base: project.branch, head:"LoopKit:tidepool-sync") + let pr: PullRequest + if prs.count == 0 { + pr = try await octokit.createPullRequest(owner: "LoopKit", repo: project.project, title: "Tidepool Sync", head: "LoopKit:" + syncBranch, base: project.branch, body: "") + print("PR = \(pr)") + } else { + pr = prs.first! + } + if let url = pr.htmlURL { + if NSWorkspace.shared.open(url) { + print("default browser was successfully opened") + + } + } +} + +extension Octokit { + func createPullRequest(owner: String, + repo: String, + title: String, + head: String, + headRepo: String? = nil, + base: String, + body: String? = nil, + maintainerCanModify: Bool? = nil, + draft: Bool? = nil) async throws -> PullRequest + { + return try await withCheckedThrowingContinuation { continuation in + octokit.pullRequest(owner: owner, repo: repo, title: title, head: head, headRepo: headRepo, base: base, body: body, maintainerCanModify: maintainerCanModify, draft: draft) + { response in + continuation.resume(with: response) + } + } + } + + func listPullRequests(owner: String, + repo: String, + base: String? = nil, + head: String? = nil, + state: Openness = .open, + sort: SortType = .created, + direction: SortDirection = .desc) async throws -> [PullRequest] + { + return try await withCheckedThrowingContinuation { continuation in + octokit.pullRequests(owner: owner, repository: repo, base: base, head: head, state: state, sort: sort, direction: direction) + { response in + continuation.resume(with: response) + } + } + } +} diff --git a/Scripts/update_submodule_refs.sh b/Scripts/update_submodule_refs.sh index fe24d7f01..5ad5c7194 100755 --- a/Scripts/update_submodule_refs.sh +++ b/Scripts/update_submodule_refs.sh @@ -1,6 +1,6 @@ #!/bin/zsh -projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutAPIClient:master ps2:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:rileylink_ios:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) +projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) for project in ${projects}; do echo "Updating to $project" diff --git a/TidepoolService b/TidepoolService index 0eef22463..3cad23b95 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 0eef2246365d981ef8fa4b5f45bb606a74875de0 +Subproject commit 3cad23b9547f5a6cd2aa8b0e27800ac36d87d9b6 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 20ed7a145..792c0b5d6 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 20ed7a1457af2e5a72fcc1c91b660ae8c0478d94 +Subproject commit 792c0b5d61a071e699b9773d2f86f39f10ebffd5 From 00f7b05c3b451ee416a98a60312f7295f4dd0813 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 6 May 2023 12:39:00 -0500 Subject: [PATCH 028/131] Use MKRingProgressView from swift package --- .gitmodules | 3 --- Loop | 2 +- LoopWorkspace.xcworkspace/contents.xcworkspacedata | 3 --- .../xcshareddata/swiftpm/Package.resolved | 9 +++++++++ .../xcshareddata/xcschemes/LoopWorkspace.xcscheme | 2 +- MKRingProgressView | 1 - OmniBLE | 2 +- OmniKit | 2 +- 8 files changed, 13 insertions(+), 11 deletions(-) delete mode 160000 MKRingProgressView diff --git a/.gitmodules b/.gitmodules index b6d5b7b5d..12afa2e72 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,9 +13,6 @@ [submodule "RileyLinkKit"] path = RileyLinkKit url = https://github.com/LoopKit/RileyLinkKit -[submodule "MKRingProgressView"] - path = MKRingProgressView - url = https://github.com/LoopKit/MKRingProgressView.git [submodule "NightscoutService"] path = NightscoutService url = https://github.com/LoopKit/NightscoutService.git diff --git a/Loop b/Loop index 3d1e99fc5..7ce092f9e 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3d1e99fc591d0e5db52c8e7313c5a3b3aff3bba4 +Subproject commit 7ce092f9eb4284726c93c1ac89ac819487f8e89c diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 7ee2530a0..514e5ab00 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -53,9 +53,6 @@ - - diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index a661631a2..195a0231b 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -45,6 +45,15 @@ "version" : "1.7.0" } }, + { + "identity" : "mkringprogressview", + "kind" : "remoteSourceControl", + "location" : "https://github.com/maxkonovalov/MKRingProgressView.git", + "state" : { + "branch" : "master", + "revision" : "660888aab1d2ab0ed7eb9eb53caec12af4955fa7" + } + }, { "identity" : "nightscoutkit", "kind" : "remoteSourceControl", diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index b4acf645a..85f0ee0ed 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -1,6 +1,6 @@ Date: Sun, 7 May 2023 11:07:05 -0500 Subject: [PATCH 029/131] Update TidepoolKit --- LoopWorkspace.xcworkspace/contents.xcworkspacedata | 3 --- Scripts/sync.swift | 4 +--- TidepoolKit | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 514e5ab00..157f1ee22 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -53,9 +53,6 @@ - - diff --git a/Scripts/sync.swift b/Scripts/sync.swift index 899ad0a6b..16f6acfe9 100755 --- a/Scripts/sync.swift +++ b/Scripts/sync.swift @@ -23,10 +23,8 @@ let projects = [ Project("LoopKit", "dev"), Project("CGMBLEKit", "dev"), Project("dexcom-share-client-swift", "dev"), - //Project("RileyLinkKit", "dev"), - //Project("MKRingProgressView", "dev"), + Project("RileyLinkKit", "dev"), Project("NightscoutService", "dev"), - //Project("Minizip", "dev"), //Project("TrueTime.swift", "dev"), Project("LoopOnboarding", "dev"), Project("AmplitudeService", "dev"), diff --git a/TidepoolKit b/TidepoolKit index 569b436a0..13d33c2c0 160000 --- a/TidepoolKit +++ b/TidepoolKit @@ -1 +1 @@ -Subproject commit 569b436a01bcafc43a6d6bec7a5fa9b25147974c +Subproject commit 13d33c2c00ad9ef31cff369966af270e9969a45e From 8177ed705b931b8e995a1c103058e2c3f317749b Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 7 May 2023 11:08:40 -0500 Subject: [PATCH 030/131] Add Minizip project back in --- LoopWorkspace.xcworkspace/contents.xcworkspacedata | 3 +++ 1 file changed, 3 insertions(+) diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 157f1ee22..514e5ab00 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -53,6 +53,9 @@ + + From 5df34bd15acf7878886d6efd9230ab5d1afdff58 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 7 May 2023 11:25:11 -0500 Subject: [PATCH 031/131] Update TidepoolKit --- TidepoolKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TidepoolKit b/TidepoolKit index 13d33c2c0..be3c52087 160000 --- a/TidepoolKit +++ b/TidepoolKit @@ -1 +1 @@ -Subproject commit 13d33c2c00ad9ef31cff369966af270e9969a45e +Subproject commit be3c52087abd8a11ecc1d086cff28d999198ae08 From c69f4fa7617bacffd379baa343dec9fa76985c8b Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 8 May 2023 16:02:08 -0500 Subject: [PATCH 032/131] Update to ZipFoundation for providing zip file creation abilities (#56) * Update to ZipFoundation for providing zip file creation abilities * Update Loop * Update to dev --- Loop | 2 +- LoopKit | 2 +- LoopWorkspace.xcworkspace/contents.xcworkspacedata | 3 --- .../xcshareddata/swiftpm/Package.resolved | 9 +++++++++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Loop b/Loop index 7ce092f9e..eb8ccd6e3 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 7ce092f9eb4284726c93c1ac89ac819487f8e89c +Subproject commit eb8ccd6e336f025971eb92317d87ab0cbb41fe7e diff --git a/LoopKit b/LoopKit index a78aa8ed9..5835eaea7 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit a78aa8ed92f9248c22acefbdd7a54d5cf7da9e6e +Subproject commit 5835eaea7b8ac5b5efd79ad9b79543a51743874b diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 514e5ab00..157f1ee22 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -53,9 +53,6 @@ - - diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 195a0231b..e73102b2c 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -79,6 +79,15 @@ "branch" : "master", "revision" : "c354c1945bb35a1f01b665b22474f6db28cba4a2" } + }, + { + "identity" : "zipfoundation", + "kind" : "remoteSourceControl", + "location" : "https://github.com/LoopKit/ZIPFoundation.git", + "state" : { + "branch" : "stream-entry", + "revision" : "91700d5f888090e88589f7c8d97e78417793e78e" + } } ], "version" : 2 From 0493004da998421d86fa952090443f2ada0ce390 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Tue, 9 May 2023 07:46:34 -0500 Subject: [PATCH 033/131] Warnings cleanup --- LoopKit | 2 +- .../xcshareddata/swiftpm/Package.resolved | 4 +-- .../xcschemes/LoopWorkspace.xcscheme | 28 ------------------- MinimedKit | 2 +- OmniKit | 2 +- 5 files changed, 5 insertions(+), 33 deletions(-) diff --git a/LoopKit b/LoopKit index 5835eaea7..4f30d4336 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 5835eaea7b8ac5b5efd79ad9b79543a51743874b +Subproject commit 4f30d43364cea2afe951c2599b79a370029ba0e3 diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index e73102b2c..d1645a79c 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -41,8 +41,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/krzyzanowskim/CryptoSwift", "state" : { - "revision" : "95c18f1c1bc44d5547728621ed680850368f7a45", - "version" : "1.7.0" + "revision" : "eee9ad754926c40a0f7e73f152357d37b119b7fa", + "version" : "1.7.1" } }, { diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 85f0ee0ed..66c412efc 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -6,20 +6,6 @@ parallelizeBuildables = "NO" buildImplicitDependencies = "YES"> - - - - - - - - Date: Sun, 21 May 2023 12:43:13 -0500 Subject: [PATCH 034/131] Tidepool sync (#58) * Changes from Tidepool * Update to dev * Add merges for NightscoutRemoteCGM and G7SensorKit * Fix tests * Tidepool Merge * Fix merge issues * Update packages --- AmplitudeService | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- .../contents.xcworkspacedata | 16 ++++++++++++++++ .../xcshareddata/swiftpm/Package.resolved | 6 +++--- .../xcschemes/LoopWorkspace.xcscheme | 10 ++++++++++ MinimedKit | 2 +- NightscoutService | 2 +- RileyLinkKit | 2 +- Scripts/sync.swift | 14 +++++++++++--- TidepoolKit | 2 +- 14 files changed, 50 insertions(+), 16 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index 0d9a9d914..c4345c0d7 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit 0d9a9d9146f46263fb15fc42d16c3eadce163a7f +Subproject commit c4345c0d794a0f870dd2ca06b14dda480b8a49b8 diff --git a/LogglyService b/LogglyService index d79a794c6..db09ebca4 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit d79a794c69f743325f5920a6adc47fb3347d4f3d +Subproject commit db09ebca405848161d5ae1355c001f05b1b7cbf2 diff --git a/Loop b/Loop index eb8ccd6e3..fee85e0de 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit eb8ccd6e336f025971eb92317d87ab0cbb41fe7e +Subproject commit fee85e0ded0b6a2dfe7a72df1e64cbb26d428044 diff --git a/LoopKit b/LoopKit index 4f30d4336..db316ef7c 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 4f30d43364cea2afe951c2599b79a370029ba0e3 +Subproject commit db316ef7c46f81379742d6cc1a254be4017d1d54 diff --git a/LoopOnboarding b/LoopOnboarding index 468488c75..292675aa0 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 468488c7550237e7526685265f76d428b8f8ad62 +Subproject commit 292675aa0860a98517433f40e156bf695e836504 diff --git a/LoopSupport b/LoopSupport index 9253b5ffe..895f1111f 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 9253b5ffe5acc3baab33b5ff0b22ce933bf73d0f +Subproject commit 895f1111fe8610b4153c8ddd82077c1e60676f8b diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 157f1ee22..eaa82dac0 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -4,6 +4,9 @@ + + @@ -17,6 +20,19 @@ + + + + + + + + diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index d1645a79c..7f0215698 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -6,7 +6,7 @@ "location" : "https://github.com/amplitude/Amplitude-iOS.git", "state" : { "branch" : "main", - "revision" : "8e1239c369e0dfe4c26f2dce1b05d093f6e18aff" + "revision" : "e818b182f5c3d5ce5035deab90bca108175b3561" } }, { @@ -23,8 +23,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/openid/AppAuth-iOS", "state" : { - "revision" : "0eadcdec4ddb121865f3d66917549194afce1f2b", - "version" : "1.6.1" + "revision" : "71cde449f13d453227e687458144bde372d30fc7", + "version" : "1.6.2" } }, { diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 66c412efc..7487ee219 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -531,6 +531,16 @@ ReferencedContainer = "container:TidepoolService/TidepoolService.xcodeproj"> + + + + 0 else { + print("No incoming changes; skipping PR creation.") + continue + } + // Push changes up to origin let refspec = "refs/heads/" + syncBranch + ":refs/heads/" + syncBranch print("Pushing \(refspec) to \(project.project)") @@ -130,7 +138,7 @@ extension Octokit { draft: Bool? = nil) async throws -> PullRequest { return try await withCheckedThrowingContinuation { continuation in - octokit.pullRequest(owner: owner, repo: repo, title: title, head: head, headRepo: headRepo, base: base, body: body, maintainerCanModify: maintainerCanModify, draft: draft) + octokit.createPullRequest(owner: owner, repo: repo, title: title, head: head, headRepo: headRepo, base: base, body: body, maintainerCanModify: maintainerCanModify, draft: draft) { response in continuation.resume(with: response) } diff --git a/TidepoolKit b/TidepoolKit index be3c52087..57ca696f4 160000 --- a/TidepoolKit +++ b/TidepoolKit @@ -1 +1 @@ -Subproject commit be3c52087abd8a11ecc1d086cff28d999198ae08 +Subproject commit 57ca696f40c09c5c69f80f1c38626550390351dd From 78cebfee2068c4755b6b5c9c44acd163eb8155a6 Mon Sep 17 00:00:00 2001 From: Marion Barker Date: Fri, 26 May 2023 12:46:16 -0700 Subject: [PATCH 035/131] Add branch name to build name (#52) --- .github/workflows/build_loop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index efbbc3e4d..34c7b82b6 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -1,5 +1,5 @@ name: 4. Build Loop -run-name: Build Loop +run-name: Build Loop ${{ github.ref_name }} on: workflow_dispatch: From 3acfeaff04e8d9f4e6f41db223e06340f3317dbf Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 14 Jun 2023 10:38:41 -0500 Subject: [PATCH 036/131] G7 sensor reading age fix --- G7SensorKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G7SensorKit b/G7SensorKit index eda039416..01465fd0e 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit eda0394169ea3a3c8781658946c00270559bc64b +Subproject commit 01465fd0e529c07be2451720080231d350f972ed From 05fd83038186a84bf672bf86c8446eef9de77050 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 14 Jun 2023 22:38:06 -0500 Subject: [PATCH 037/131] Another G7 date issue fixed --- G7SensorKit | 2 +- .../contents.xcworkspacedata | 16 ++++++++++++++++ .../xcshareddata/swiftpm/Package.resolved | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/G7SensorKit b/G7SensorKit index 01465fd0e..8b75d172c 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 01465fd0e529c07be2451720080231d350f972ed +Subproject commit 8b75d172ce7da3c5be9b2791bbca5ecbf2b301e2 diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index eaa82dac0..cc4b0ca5e 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -4,6 +4,22 @@ + + + + + + + + + + diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 7f0215698..2d82e364d 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -60,7 +60,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "20c9c51b1eb8d3f8708cabc96e89be6964d0b9f1" + "revision" : "bb6db78111cbca6423da0fcaa9969850404a8142" } }, { From c0241d3adff8c81004897481f86f65d5e1c8a655 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 17 Jun 2023 11:32:30 -0500 Subject: [PATCH 038/131] Status wiget glucose age calc fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index fee85e0de..667a5a944 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit fee85e0ded0b6a2dfe7a72df1e64cbb26d428044 +Subproject commit 667a5a94407a1af8380448d86246818a8b67fcbc From 6a9aa442ec0fe6133acca91c0f6e5bbc9ccf4664 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 17 Jun 2023 12:59:39 -0500 Subject: [PATCH 039/131] Bring in latest submodule changes --- CGMBLEKit | 2 +- G7SensorKit | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- .../xcshareddata/swiftpm/Package.resolved | 9 --------- MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- OmniBLE | 2 +- OmniKit | 2 +- TidepoolKit | 2 +- TidepoolService | 2 +- dexcom-share-client-swift | 2 +- 13 files changed, 12 insertions(+), 21 deletions(-) diff --git a/CGMBLEKit b/CGMBLEKit index 69d3e4f8e..2d1b8f1e1 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 69d3e4f8e82583c83fff40152ab551cfe4989728 +Subproject commit 2d1b8f1e1bc7e24c8b9d9560ec3ad75f3127f23a diff --git a/G7SensorKit b/G7SensorKit index 8b75d172c..f7c8c4f95 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 8b75d172ce7da3c5be9b2791bbca5ecbf2b301e2 +Subproject commit f7c8c4f957e924cd49f74ca8f966ecd9863ea753 diff --git a/Loop b/Loop index 667a5a944..3034e459c 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 667a5a94407a1af8380448d86246818a8b67fcbc +Subproject commit 3034e459c86c953ec7ba2c500012426b56172c2a diff --git a/LoopKit b/LoopKit index db316ef7c..b6300a803 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit db316ef7c46f81379742d6cc1a254be4017d1d54 +Subproject commit b6300a8031723a9dcd3431a791adf9a4748476ca diff --git a/LoopOnboarding b/LoopOnboarding index 292675aa0..f861bfaa2 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 292675aa0860a98517433f40e156bf695e836504 +Subproject commit f861bfaa2caf580919e6516d63e26474d0aeb70f diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 2d82e364d..6fd27f864 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -18,15 +18,6 @@ "version" : "1.0.1" } }, - { - "identity" : "appauth-ios", - "kind" : "remoteSourceControl", - "location" : "https://github.com/openid/AppAuth-iOS", - "state" : { - "revision" : "71cde449f13d453227e687458144bde372d30fc7", - "version" : "1.6.2" - } - }, { "identity" : "base32", "kind" : "remoteSourceControl", diff --git a/MinimedKit b/MinimedKit index 7c9ce13b1..a0c17c83b 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit 7c9ce13b1912acc4d942eaaec7c8751d8a07583a +Subproject commit a0c17c83b9955b35183d8cc4184255b60997242e diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index cc3e21508..9c6e4ea4e 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit cc3e21508c0c3c6ef52d0a986ae4bb863b8d2078 +Subproject commit 9c6e4ea4ec64a4b698308d7d0ff4fa6dba9e7499 diff --git a/OmniBLE b/OmniBLE index dbfa4b6af..a835bb9c0 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit dbfa4b6afb4787dc6acdffd3c6d31e89881ecf3b +Subproject commit a835bb9c0a774919e622bf3617735fd8dd496c45 diff --git a/OmniKit b/OmniKit index 4a8277d02..bf3ef742a 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit 4a8277d026e99ae57d1df68d082989fc3f15463b +Subproject commit bf3ef742a17ca47d823834a57ab8f3ccd3e779d7 diff --git a/TidepoolKit b/TidepoolKit index 57ca696f4..d3a260ac6 160000 --- a/TidepoolKit +++ b/TidepoolKit @@ -1 +1 @@ -Subproject commit 57ca696f40c09c5c69f80f1c38626550390351dd +Subproject commit d3a260ac66d0a149f28fa375f93820c0cdbc18f5 diff --git a/TidepoolService b/TidepoolService index 3cad23b95..df07f9bf3 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 3cad23b9547f5a6cd2aa8b0e27800ac36d87d9b6 +Subproject commit df07f9bf31e7aadac477099745aa9159d7f39a12 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 792c0b5d6..551dcf0a6 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 792c0b5d61a071e699b9773d2f86f39f10ebffd5 +Subproject commit 551dcf0a6821ea326df3196fd0afce3eae57e12a From 5cbf075c61902d2b4bf46cca06dd37794160bcfa Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 18 Jun 2023 10:14:16 -0500 Subject: [PATCH 040/131] Use current Xcode --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 150a4fb5f..e0058c0d2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ jobs: build_and_test: macos: - xcode: 14.1.0 + xcode: 14.3.1 steps: - checkout - run: From 55979f79691fd838c7ed40da9b5c75a60cf43bfa Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 18 Jun 2023 15:29:07 -0500 Subject: [PATCH 041/131] Bump xcode version for github workflows --- .github/workflows/build_loop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 34c7b82b6..8cf8f5d67 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -21,7 +21,7 @@ jobs: steps: # Uncomment to manually select latest Xcode if needed - name: Select Latest Xcode - run: "sudo xcode-select --switch /Applications/Xcode_14.1.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_14.3.app/Contents/Developer" # Checks-out the repo - name: Checkout Repo From d721612dbd825d403fda0fbacb5e123e2ab6e644 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 18 Jun 2023 18:17:33 -0500 Subject: [PATCH 042/131] Update github actions to use macos 13, with latest Xcode --- .github/workflows/build_loop.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 8cf8f5d67..77720d477 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -17,11 +17,11 @@ jobs: build: needs: secrets - runs-on: macos-12 + runs-on: macos-13 steps: # Uncomment to manually select latest Xcode if needed - name: Select Latest Xcode - run: "sudo xcode-select --switch /Applications/Xcode_14.3.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer" # Checks-out the repo - name: Checkout Repo From 961839bd13237fc512befc41b53b8e3085f8f734 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 23 Jun 2023 09:32:41 -0500 Subject: [PATCH 043/131] Bring in Loop and LoopKit changes --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index 3034e459c..daca18f69 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3034e459c86c953ec7ba2c500012426b56172c2a +Subproject commit daca18f6919349d4c627b2c3c2943e6d2a7b3404 diff --git a/LoopKit b/LoopKit index b6300a803..ac7d60b40 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit b6300a8031723a9dcd3431a791adf9a4748476ca +Subproject commit ac7d60b40e628557d6e7019fa26947c4d94d8948 From 434502a3b21ac7b452f20f36c9b27c1810e2a923 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 24 Jun 2023 16:43:07 -0500 Subject: [PATCH 044/131] G7 HKDevice update --- G7SensorKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G7SensorKit b/G7SensorKit index f7c8c4f95..dacd92b12 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit f7c8c4f957e924cd49f74ca8f966ecd9863ea753 +Subproject commit dacd92b12d5b3154825c5c22b1cc6a84b6bab583 From 6cf5dbf78a99fb1db40f0b3d2f3143e1e0693a24 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 24 Jun 2023 16:51:51 -0500 Subject: [PATCH 045/131] Bring in LoopKit crash fix --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index ac7d60b40..c7ce010ab 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit ac7d60b40e628557d6e7019fa26947c4d94d8948 +Subproject commit c7ce010abae52b169eca9b09523fab1e9b986a72 From 9870b00bbc737cc8426a360926ce17f4d95826de Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 25 Jun 2023 11:50:41 -0500 Subject: [PATCH 046/131] Algorithm experiments (#62) * Turn on algorithm experiments * Loop updates --- Loop | 2 +- LoopConfigOverride.xcconfig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index daca18f69..3b3c68232 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit daca18f6919349d4c627b2c3c2943e6d2a7b3404 +Subproject commit 3b3c6823246420fc3adfc748a13f26195ed26e08 diff --git a/LoopConfigOverride.xcconfig b/LoopConfigOverride.xcconfig index 3ffab2cb9..bcf7df726 100644 --- a/LoopConfigOverride.xcconfig +++ b/LoopConfigOverride.xcconfig @@ -10,7 +10,7 @@ //URL_SCHEME_NAME = $(MAIN_APP_DISPLAY_NAME) // Features -SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) SIMULATORS_ENABLED //DEBUG_FEATURES_ENABLED +SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) SIMULATORS_ENABLED ALLOW_ALGORITHM_EXPERIMENTS //DEBUG_FEATURES_ENABLED // Put your team id here for signing //LOOP_DEVELOPMENT_TEAM = UY678SP37Q From 80031af3052d298af36eb1560eaeed37bfe785e5 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 25 Jun 2023 13:09:53 -0500 Subject: [PATCH 047/131] IRC added as experiment --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 3b3c68232..595268928 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3b3c6823246420fc3adfc748a13f26195ed26e08 +Subproject commit 59526892893836c9076e467e6ca2c4910f2c23dc From d47da45adfcf54d7d0411602e6f052e61d2f333b Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 25 Jun 2023 13:30:17 -0500 Subject: [PATCH 048/131] Update Loop submodule --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 595268928..0783b9fbb 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 59526892893836c9076e467e6ca2c4910f2c23dc +Subproject commit 0783b9fbb18453899f8e82e0c059ef21a3c744be From 353e10081fdc6574bb06a87201148211564ae8cf Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Tue, 27 Jun 2023 13:42:36 -0500 Subject: [PATCH 049/131] Bring in analytics changes --- AmplitudeService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopSupport | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index c4345c0d7..cad61203b 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit c4345c0d794a0f870dd2ca06b14dda480b8a49b8 +Subproject commit cad61203b44514c39060f3aaa58e7bf225d5c118 diff --git a/Loop b/Loop index 0783b9fbb..ed1a00f93 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 0783b9fbb18453899f8e82e0c059ef21a3c744be +Subproject commit ed1a00f938c00b7bb281ba359b91148dcfa72911 diff --git a/LoopKit b/LoopKit index c7ce010ab..240054c8a 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit c7ce010abae52b169eca9b09523fab1e9b986a72 +Subproject commit 240054c8a15753bc6c45b35c78d57f98e47cdde8 diff --git a/LoopSupport b/LoopSupport index 895f1111f..264c67c84 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 895f1111fe8610b4153c8ddd82077c1e60676f8b +Subproject commit 264c67c84a54882a444383797aba7134b9261cb0 From 97db123ee400d918c8a5b2b7bea1905ff315f3b4 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Tue, 27 Jun 2023 19:55:03 -0500 Subject: [PATCH 050/131] Bring in IRC fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index ed1a00f93..42aeeb4d5 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit ed1a00f938c00b7bb281ba359b91148dcfa72911 +Subproject commit 42aeeb4d595a926890b66c9fc7d201d63954e511 From b961e530f4dbefc29e92e72e928b7aa657b8acd1 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Tue, 27 Jun 2023 21:12:27 -0500 Subject: [PATCH 051/131] Analytics fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 42aeeb4d5..f89d8d00f 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 42aeeb4d595a926890b66c9fc7d201d63954e511 +Subproject commit f89d8d00f1564b1a19739458380191dd6c1a28c8 From 825446463695a28a7a254db4da9114482333045d Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 2 Jul 2023 11:54:48 -0500 Subject: [PATCH 052/131] Adding Libre Integration (#51) * Libre testing branch * Update submodule * Update libre branch to latest dev * Fixes * Add NFC entitlement * Update LibreTransmitter to main branch * Update submodules to latest dev * update submodule --- .gitmodules | 3 ++ LibreTransmitter | 1 + Loop | 2 +- LoopKit | 2 +- .../contents.xcworkspacedata | 3 ++ .../xcschemes/LoopWorkspace.xcscheme | 28 +++++++++++++++++++ NightscoutService | 2 +- OmniKit | 2 +- TidepoolService | 2 +- 9 files changed, 40 insertions(+), 5 deletions(-) create mode 160000 LibreTransmitter diff --git a/.gitmodules b/.gitmodules index 12afa2e72..9a222dccc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -55,3 +55,6 @@ [submodule "MinimedKit"] path = MinimedKit url = https://github.com/LoopKit/MinimedKit.git +[submodule "LibreTransmitter"] + path = LibreTransmitter + url = https://github.com/LoopKit/LibreTransmitter.git diff --git a/LibreTransmitter b/LibreTransmitter new file mode 160000 index 000000000..53587cb50 --- /dev/null +++ b/LibreTransmitter @@ -0,0 +1 @@ +Subproject commit 53587cb501fe2698395f39a6b68e7396bfcec119 diff --git a/Loop b/Loop index f89d8d00f..475fa6154 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit f89d8d00f1564b1a19739458380191dd6c1a28c8 +Subproject commit 475fa6154cd3a10b8f22f1ebad98463ea51fd88e diff --git a/LoopKit b/LoopKit index 240054c8a..6670715f5 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 240054c8a15753bc6c45b35c78d57f98e47cdde8 +Subproject commit 6670715f5327d69c0b28bb212867e4af6306fb05 diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index cc4b0ca5e..c5b3b88de 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -103,6 +103,9 @@ + + diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 7487ee219..c61af27a3 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -272,6 +272,34 @@ ReferencedContainer = "container:G7SensorKit/G7SensorKit.xcodeproj"> + + + + + + + + Date: Sun, 2 Jul 2023 12:38:50 -0500 Subject: [PATCH 053/131] Add duration to suspend event --- LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- NightscoutService | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 6fd27f864..44862ccd6 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -51,7 +51,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "bb6db78111cbca6423da0fcaa9969850404a8142" + "revision" : "952b83b5b147e50fc8a8565b248ae27852d0d243" } }, { diff --git a/NightscoutService b/NightscoutService index 322e51ca1..6edcd0645 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 322e51ca19718272343c5b776917cc1059c3fcd1 +Subproject commit 6edcd064574b8efc5e7713721a7a1b4d7e783be5 From 316f88f7530ef323e9984b7a5f52322a08cd97c5 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 2 Jul 2023 20:17:35 -0500 Subject: [PATCH 054/131] Update Nightscout service and LoopKit --- LoopKit | 2 +- LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- NightscoutService | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LoopKit b/LoopKit index 6670715f5..382dec36d 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 6670715f5327d69c0b28bb212867e4af6306fb05 +Subproject commit 382dec36d02ba870681c02a14fcd7e13f6b18a7f diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 44862ccd6..f13d4e1b7 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -51,7 +51,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "952b83b5b147e50fc8a8565b248ae27852d0d243" + "revision" : "651ac7600dae75754202f8b16f92c0f037dfd092" } }, { diff --git a/NightscoutService b/NightscoutService index 6edcd0645..01df95b2f 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 6edcd064574b8efc5e7713721a7a1b4d7e783be5 +Subproject commit 01df95b2f61275fdf38a63d1b3f25a9b268fe010 From a1eb54ae5523ab45b1124db3dc518889fb25cf71 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 3 Jul 2023 09:27:12 -0500 Subject: [PATCH 055/131] Submodule updates --- Loop | 2 +- LoopKit | 2 +- LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Loop b/Loop index 475fa6154..b043698c8 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 475fa6154cd3a10b8f22f1ebad98463ea51fd88e +Subproject commit b043698c86fdc9daf69cb0f0f1adaaccf6491f2c diff --git a/LoopKit b/LoopKit index 382dec36d..d304fe077 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 382dec36d02ba870681c02a14fcd7e13f6b18a7f +Subproject commit d304fe077beda9623bd950ce24cc0fba72fd4af8 diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index f13d4e1b7..8e67d6439 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -51,7 +51,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "651ac7600dae75754202f8b16f92c0f037dfd092" + "revision" : "9d22748c31c407345931bdba7327614345ab7b8d" } }, { From 3602b80b8de80fc94613d388c0b7152e0427284e Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 3 Jul 2023 16:50:11 -0500 Subject: [PATCH 056/131] Add NFC_TAG_READING to fastlane bundle id configuration for Loop --- LoopKit | 2 +- fastlane/Fastfile | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/LoopKit b/LoopKit index d304fe077..76d329445 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit d304fe077beda9623bd950ce24cc0fba72fd4af8 +Subproject commit 76d329445c8cfa97da13463581e367f5f04874ab diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 144553e0e..0882046db 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -182,7 +182,8 @@ platform :ios do Spaceship::ConnectAPI::BundleIdCapability::Type::HEALTHKIT, Spaceship::ConnectAPI::BundleIdCapability::Type::PUSH_NOTIFICATIONS, Spaceship::ConnectAPI::BundleIdCapability::Type::SIRIKIT, - Spaceship::ConnectAPI::BundleIdCapability::Type::USERNOTIFICATIONS_TIMESENSITIVE + Spaceship::ConnectAPI::BundleIdCapability::Type::USERNOTIFICATIONS_TIMESENSITIVE, + Spaceship::ConnectAPI::BundleIdCapability::Type::NFC_TAG_READING ]) configure_bundle_id("Loop Intent Extension", "com.#{TEAMID}.loopkit.Loop.Loop-Intent-Extension", [ From 59c725b77978eb64e694a80f64320326bc8cec01 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 7 Jul 2023 18:07:10 -0500 Subject: [PATCH 057/131] Update ZipFoundation revision --- LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 8e67d6439..de2f4c0e7 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -77,7 +77,7 @@ "location" : "https://github.com/LoopKit/ZIPFoundation.git", "state" : { "branch" : "stream-entry", - "revision" : "91700d5f888090e88589f7c8d97e78417793e78e" + "revision" : "c67b7509ec82ee2b4b0ab3f97742b94ed9692494" } } ], From 7f64960b4032a4df331c9a0950ea0f1a2086dc5d Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 8 Jul 2023 00:01:06 -0500 Subject: [PATCH 058/131] Critical log export fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index b043698c8..fa03121bb 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit b043698c86fdc9daf69cb0f0f1adaaccf6491f2c +Subproject commit fa03121bba4b7c0a473e7f0f677fed2d4119d513 From 614c9e9f2a5f3776c4d04de80fa44daf2b5b7a66 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 10 Jul 2023 12:25:29 -0500 Subject: [PATCH 059/131] Tidepool merge (#65) * Removing TidepoolKit * Removing TidepoolKit * Update submodules --- .gitmodules | 3 --- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopWorkspace.xcworkspace/contents.xcworkspacedata | 3 --- .../xcshareddata/swiftpm/Package.resolved | 9 +++++++++ OmniBLE | 2 +- Scripts/sync.swift | 1 + Scripts/update_submodule_refs.sh | 2 +- TidepoolKit | 1 - TidepoolService | 2 +- 11 files changed, 16 insertions(+), 13 deletions(-) delete mode 160000 TidepoolKit diff --git a/.gitmodules b/.gitmodules index 9a222dccc..f1c6c8c91 100644 --- a/.gitmodules +++ b/.gitmodules @@ -46,9 +46,6 @@ [submodule "TidepoolService"] path = TidepoolService url = https://github.com/LoopKit/TidepoolService.git -[submodule "TidepoolKit"] - path = TidepoolKit - url = https://github.com/LoopKit/TidepoolKit.git [submodule "OmniKit"] path = OmniKit url = https://github.com/LoopKit/OmniKit.git diff --git a/LogglyService b/LogglyService index db09ebca4..94b5ba169 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit db09ebca405848161d5ae1355c001f05b1b7cbf2 +Subproject commit 94b5ba1691d49130966455725e447e4070ae885e diff --git a/Loop b/Loop index fa03121bb..b4a556789 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit fa03121bba4b7c0a473e7f0f677fed2d4119d513 +Subproject commit b4a5567892bd47c0524d80efe26aead326f82cde diff --git a/LoopKit b/LoopKit index 76d329445..26ab8f752 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 76d329445c8cfa97da13463581e367f5f04874ab +Subproject commit 26ab8f752a0c243bd861a3be8f8bd2702b14f490 diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index c5b3b88de..6fc438395 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -73,9 +73,6 @@ - - diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index de2f4c0e7..328a7401c 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -71,6 +71,15 @@ "revision" : "c354c1945bb35a1f01b665b22474f6db28cba4a2" } }, + { + "identity" : "tidepoolkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/tidepool-org/TidepoolKit", + "state" : { + "branch" : "dev", + "revision" : "a0bcbb037789fcd186e151c7eaf36aa1b9632915" + } + }, { "identity" : "zipfoundation", "kind" : "remoteSourceControl", diff --git a/OmniBLE b/OmniBLE index a835bb9c0..bd3cfdc47 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit a835bb9c0a774919e622bf3617735fd8dd496c45 +Subproject commit bd3cfdc4799a659c81e10fba49701ba2e32e8883 diff --git a/Scripts/sync.swift b/Scripts/sync.swift index 27d3f6f23..af3f97e1e 100755 --- a/Scripts/sync.swift +++ b/Scripts/sync.swift @@ -101,6 +101,7 @@ for project in projects { guard ahead > 0 else { print("No incoming changes; skipping PR creation.") + try await repository.checkout(revspec: project.branch) continue } diff --git a/Scripts/update_submodule_refs.sh b/Scripts/update_submodule_refs.sh index 5ad5c7194..e09a8a30c 100755 --- a/Scripts/update_submodule_refs.sh +++ b/Scripts/update_submodule_refs.sh @@ -1,6 +1,6 @@ #!/bin/zsh -projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) +projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main LoopKit:LibreTransmitter:main) for project in ${projects}; do echo "Updating to $project" diff --git a/TidepoolKit b/TidepoolKit deleted file mode 160000 index d3a260ac6..000000000 --- a/TidepoolKit +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d3a260ac66d0a149f28fa375f93820c0cdbc18f5 diff --git a/TidepoolService b/TidepoolService index 7a8a1962e..28e647630 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 7a8a1962e7be0d9e6fc237f2c3f20acc731b0659 +Subproject commit 28e647630438b52380cbfa41bd301d0a6252c235 From f0fc9188d6e9bd11296d919be2a2e551cfcb5c41 Mon Sep 17 00:00:00 2001 From: bjornoleh <63544115+bjornoleh@users.noreply.github.com> Date: Wed, 12 Jul 2023 03:23:01 +0200 Subject: [PATCH 060/131] Add scheduled sync and build, and allow for customization of Loop with GitHub Actions / Fastlane builds (#43) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Scheduled sync and build, with option to customize Loop Changed template for scheduled runs to every month Added env variables for - upstream and target repo/branches - sync upstream 'true'/'false' - customize app 'true'/'false' Added sync action (aormsby/Fork-Sync-With-Upstream-action) to the (sync and) build job Added gautamkrishnar/keepalive-workflow to avoid expiration of scheduled workflows due to repository inactivity (60 days max). Adds an empty commit to fork if no activity during the last 27 days. Added Customize Loop action, which - applies any patches located in the LoopWorkspace/patches/ directory (@billybooth) - downloads (wget) and applies submodule patches specified in build_loop.yml Added (commented-out) CustomTypeOne/LoopPatches as templates for Loop and LoopKit submodule patches. * Add ./patches/save_patches_here.md * build_loop.yml: update patch templates for submodules * build_loop.yml: comment out patch template for submodule Loop * build_loop.yml: patch template app name = CustomLoop * Update build_loop.yml: fix typo * Update save_patches_here.md: fix typo * build_loop.yml: delete test_mode * build_loop.yml: remove env CUSTOMIZE_APP * Update build_loop.yml: remove remaining env CUSTOMIZE_APP refs * build_loop.yml: remove '--exclude=' from 'git apply' * Create update.yml - runs on a frequent schedule - checks out LoopWorkspace `main` - compares and syncs with LoopKit/LoopWorkspace (unless owner = LoopKit) - keepalive action adds empty commits to LoopKit/LoopWorkspace `main` after `time_elapsed` days to to avoid inactivation of scheduled workflows, when these updates are passed on to forks (only if owner = LoopKit) - launches build_loop.yml workflow on forks to sync and build if new commits are found (unless owner = LoopKit) * Remove keepalive action from build_loop.yml - keepalive action moved to update.yml * Adapt build_loop.yml and update.yml to be run in an "actions" branch to be set as default, and used to trigger scheduled builds of the main branch. Empty commits are added to an "actions" branch only (must be created by the user and set as default) to keep this branch "alive" and allow scheduled workflows to run uninterrupted (max 60 days of inactivity). The empty commits will not be included in the resulting TestFlight builds of main. Removed conditionals regarding LoopKit repository. * build_loop.yml: Add job names for `secrets` and `upstream_sync_and_build` * update.yml: shorter job name for `check_latest_from_upstream`: Check upstream * build_loop.yml: use curl instead of wget for downloading patches * Changes to build_loop.yml and update.yml: build_loop.yml: -Remove sync action from build_loop.yml -build on schedule on the 1th every month for a predictable build schedule well within the 90 day TestFlight limit. The time of day should be chosen as a time where ongoing changes are unlikely during releases (nighttime). -rename env TARGET_BRANCH to BUILD_BRANCH - use current branch as BUILD_BRANCH for easy switching to building main or dev (manually insert alternative branch names as needed) update.yml: - check for updates every day - use current branch name for UPSTREAM_BRANCH and TARGET_BRANCH, to easily switch between dev and main by changing default branch, without any code changes. - do not run the upstream sync action on the upstream LoopKit repository - time_elapsed: 50 days for keepalive action * Add branch name to run-names - with round brackets around branch name for readability: (${{ github.ref_name }}) * Remove mention of setting TARGET_BRANCH as default, since its not fixed * Move update and keep alive features to build_loop.yml - Checks for updates nightly - Ensures repository activity - Launches Build job if new commits are found, or if run manually - Workflow file cleanup * Delete update.yml * testflight.md: update GH_PAT instructions * Change the Expiration selection to `No expiration`. * Select the `repo` and `workflow` permission scopes. * testflight.md instructions: Create a branch named "alive" * testflight.md: rephrase section on ‘Create a branch named "alive"’ --- .github/workflows/build_loop.yml | 124 ++++++++++++++++++++++++++++--- fastlane/testflight.md | 18 ++++- patches/save_patches_here.md | 1 + 3 files changed, 130 insertions(+), 13 deletions(-) create mode 100644 patches/save_patches_here.md diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 77720d477..35516da0b 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -1,34 +1,136 @@ name: 4. Build Loop -run-name: Build Loop ${{ github.ref_name }} +run-name: Build Loop (${{ github.ref_name }}) on: workflow_dispatch: ## Remove the "#" sign from the beginning of the line below to get automated builds on push (code changes in your repository) #push: - ## Remove the "#" sign from the beginning of the two lines below to get automated builds every two months - #schedule: - #- cron: '0 17 1 */2 *' # Runs at 17:00 UTC on the 1st in Jan, Mar, May, Jul, Sep and Nov. + schedule: + - cron: '0 04 * * *' # Checks for updates at 04:00 UTC every day + - cron: '0 04 1 * *' # Builds the app on the 1th every month + +env: + UPSTREAM_REPO: LoopKit/LoopWorkspace + UPSTREAM_BRANCH: ${{ github.ref_name }} # branch on upstream repository to sync from (relpace with specific branch name if needed) + TARGET_BRANCH: ${{ github.ref_name }} # target branch on fork to be kept in sync, and target branch on upstream to be kept alive (relpace with specific branch name if needed) + ALIVE_BRANCH: alive + SYNC_UPSTREAM: 'true' # set to 'false' or 'true' to disable / enable syncing of fork with upstream repository jobs: - secrets: - uses: ./.github/workflows/validate_secrets.yml - secrets: inherit + check_latest_from_upstream: + runs-on: ubuntu-latest + name: Check upstream and keep alive + outputs: + NEW_COMMITS: ${{ steps.sync.outputs.has_new_commits }} + + steps: + - name: Checkout target repo + uses: actions/checkout@v3 + with: + token: ${{ secrets.GH_PAT }} + ref: alive + + - name: Sync upstream changes + if: ${{ env.SYNC_UPSTREAM == 'true' }} && github.repository_owner != 'LoopKit' # do not run the upstream sync action on the upstream repository + id: sync + uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 + with: + target_sync_branch: ${{ env.ALIVE_BRANCH }} + shallow_since: 6 months ago + target_repo_token: ${{ secrets.GH_PAT }} + upstream_sync_branch: ${{ env.UPSTREAM_BRANCH }} + upstream_sync_repo: ${{ env.UPSTREAM_REPO }} + + # Display a sample message based on the sync output var 'has_new_commits' + - name: New commits found + if: steps.sync.outputs.has_new_commits == 'true' + run: echo "New commits were found to sync." + - name: No new commits + if: steps.sync.outputs.has_new_commits == 'false' + run: echo "There were no new commits." + + - name: Show value of 'has_new_commits' + run: | + echo ${{ steps.sync.outputs.has_new_commits }} + echo "NEW_COMMITS=${{ steps.sync.outputs.has_new_commits }}" >> $GITHUB_OUTPUT + + # Keep repository "alive": add empty commits to ALIVE_BRANCH after "time_elapsed" days of inactivity to avoid inactivation of scheduled workflows + - name: Keep alive + uses: gautamkrishnar/keepalive-workflow@v1 # using the workflow with default settings + with: + time_elapsed: 20 # Time elapsed from the previous commit to trigger a new automated commit (in days) + build: - needs: secrets + name: Build + needs: check_latest_from_upstream runs-on: macos-13 + if: ${{ github.event_name == 'workflow_dispatch' || github.event.schedule == '0 04 1 * *' || needs.check_latest_from_upstream.outputs.NEW_COMMITS == 'true' }} # runs if started manually, or if scheduled on the first each month, or if new commits were found steps: - # Uncomment to manually select latest Xcode if needed - - name: Select Latest Xcode + - name: Select Xcode version run: "sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer" - # Checks-out the repo - name: Checkout Repo uses: actions/checkout@v3 with: + token: ${{ secrets.GH_PAT }} submodules: recursive + ref: ${{ env.TARGET_BRANCH }} + + - name: Sync upstream changes + if: ${{ env.SYNC_UPSTREAM == 'true' }} && github.repository_owner != 'LoopKit' # do not run the upstream sync action on the upstream repository + id: sync + uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 + with: + target_sync_branch: ${{ env.TARGET_BRANCH }} + shallow_since: 6 months ago + target_repo_token: ${{ secrets.GH_PAT }} + upstream_sync_branch: ${{ env.UPSTREAM_BRANCH }} + upstream_sync_repo: ${{ env.UPSTREAM_REPO }} + + # Display a sample message based on the sync output var 'has_new_commits' + - name: New commits found + if: steps.sync.outputs.has_new_commits == 'true' + run: echo "New commits were found to sync." + + - name: No new commits + if: steps.sync.outputs.has_new_commits == 'false' + run: echo "There were no new commits." + - name: Show value of 'has_new_commits' + run: | + echo ${{ steps.sync.outputs.has_new_commits }} + echo "NEW_COMMITS=${{ steps.sync.outputs.has_new_commits }}" >> $GITHUB_OUTPUT + + # Customize Loop: Download and apply patches + - name: Customize Loop + run: | + + # LoopWorkspace patches + # -applies any patches located in the LoopWorkspace/patches/ directory + if $(ls ./patches/* &> /dev/null); then + git apply ./patches/* --allow-empty -v --whitespace=fix + fi + + # Submodule Loop patches: + # Template for customizing submodule Loop (changes Loop app name to "CustomLoop") + # Remove the "#" sign from the beginning of the line below to activate: + #curl https://github.com/loopnlearn/Loop/commit/d206432b024279ef710df462b20bd464cd9682d4.patch | git apply --directory=Loop -v --whitespace=fix + + # Submodule LoopKit patches: + # General template for customizing submodule LoopKit + # Copy url from a GitHub commit or pull request and insert below, and remove the "#" sign from the beginning of the line to activate: + #curl url_to_github_commit.patch | git apply --directory=LoopKit -v --whitespace=fix + + # Submodule xxxxx patches: + + # Add patches for customization of additional submodules by following the templates above, + # and make sure to specify the submodule by setting "--directory=(submodule_name)". + # Several patches may be added per submodule. + # Adding comments (#) may be useful to easily tell the individual patches apart. + + # Patch Fastlane Match to not print tables - name: Patch Match Tables run: find /usr/local/lib/ruby/gems -name table_printer.rb | xargs sed -i "" "/puts(Terminal::Table.new(params))/d" diff --git a/fastlane/testflight.md b/fastlane/testflight.md index 2a44847cc..e763353d3 100644 --- a/fastlane/testflight.md +++ b/fastlane/testflight.md @@ -48,8 +48,8 @@ Log into your GitHub account to create a personal access token; this is one of t 1. Create a [new personal access token](https://github.com/settings/tokens/new): * Enter a name for your token, use "FastLane Access Token". - * Change the selection to 90 days. - * Select the `repo` permission scope. + * Change the Expiration selection to `No expiration`. + * Select the `repo` and `workflow` permission scopes. * Click "Generate token". * Copy the token and record it. It will be used below as `GH_PAT`. @@ -159,6 +159,20 @@ You do not need to fill out the next form. That is for submitting to the app sto 1. On the right side, click "Run Workflow", and tap the green `Run workflow` button. 1. Wait, and within a minute or two you should see a green checkmark indicating the workflow succeeded. +## Create a branch named "alive" + +TestFlight builds expire after 90 days. This process you are implementing here will update and rebuild Loop periodically, and requires that you create a branch named "alive" so that GitHub will not inactivate the scheduled rebuild if no code updates are made. + +The "alive" branch will only receive some additional commits to its history, and is not used for building the app. + +1. Go to the "Code" tab of your LoopWorkspace repository. +1. Click the branch selection dropdown button, and then `View all branches`. +1. Click the green "New branch" button (upper right). +1. Type `alive` in the "New branch name" field. +1. Select `LoopKit/LoopWorkspace` as "Source". +1. Select `dev` in the branch dropdown. +1. Click the green "Create new branch" button. + ## Build Loop 1. Click on the "Actions" tab of your LoopWorkspace repository. diff --git a/patches/save_patches_here.md b/patches/save_patches_here.md new file mode 100644 index 000000000..3320e1041 --- /dev/null +++ b/patches/save_patches_here.md @@ -0,0 +1 @@ +LoopWorkspace-level patches can be saved in this directory (LoopWorkspace/patches/) From 9539f1d530ea91b129da1fe35c3cf1bc4ffe428c Mon Sep 17 00:00:00 2001 From: Cameron Ingham Date: Tue, 11 Jul 2023 18:24:05 -0700 Subject: [PATCH 061/131] Added MixpanelService to Loop (#63) * Added MixpanelService to Loop * Update module url * bump mixpanel --- .gitmodules | 3 +++ LoopWorkspace.xcworkspace/contents.xcworkspacedata | 3 +++ .../xcshareddata/swiftpm/Package.resolved | 9 +++++++++ .../xcshareddata/xcschemes/LoopWorkspace.xcscheme | 14 ++++++++++++++ MixpanelService | 1 + 5 files changed, 30 insertions(+) create mode 160000 MixpanelService diff --git a/.gitmodules b/.gitmodules index f1c6c8c91..1308e60c0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -52,6 +52,9 @@ [submodule "MinimedKit"] path = MinimedKit url = https://github.com/LoopKit/MinimedKit.git +[submodule "MixpanelService"] + path = MixpanelService + url = https://github.com/LoopKit/MixpanelService [submodule "LibreTransmitter"] path = LibreTransmitter url = https://github.com/LoopKit/LibreTransmitter.git diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 6fc438395..3d841b9d8 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -70,6 +70,9 @@ + + diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 328a7401c..b7db35562 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -36,6 +36,15 @@ "version" : "1.7.1" } }, + { + "identity" : "mixpanel-swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mixpanel/mixpanel-swift.git", + "state" : { + "branch" : "master", + "revision" : "c676a9737c76e127e3ae5776247b226bc6d7652d" + } + }, { "identity" : "mkringprogressview", "kind" : "remoteSourceControl", diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index c61af27a3..bfc2bb049 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -104,6 +104,20 @@ ReferencedContainer = "container:AmplitudeService/AmplitudeService.xcodeproj"> + + + + Date: Tue, 11 Jul 2023 20:31:47 -0500 Subject: [PATCH 062/131] Xcode 15 Beta 3 fixes --- MixpanelService | 2 +- OmniKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MixpanelService b/MixpanelService index 68a5bf8dd..bd18208e7 160000 --- a/MixpanelService +++ b/MixpanelService @@ -1 +1 @@ -Subproject commit 68a5bf8dd01a98b6908d5e4cb0ae38d55a993fd5 +Subproject commit bd18208e7b0d4e944b2f81611d48a34ed53f906b diff --git a/OmniKit b/OmniKit index f104d751a..7b5b0bb0f 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit f104d751a1355cb568f3b82882c126932edc3fbb +Subproject commit 7b5b0bb0f19a6fdb2f42c0f2a370c678813c4ad3 From c60e5509e1e5b85082cf31f35f109bbe49a2a4c4 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 12 Jul 2023 10:09:31 -0500 Subject: [PATCH 063/131] Remove unused project refs, and update MixpanelService signing --- .../xcschemes/LoopWorkspace.xcscheme | 24 ------------------- MixpanelService | 2 +- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index bfc2bb049..c073cd07c 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -202,20 +202,6 @@ ReferencedContainer = "container:LogglyService/LogglyService.xcodeproj"> - - - - - - - - Date: Thu, 13 Jul 2023 15:05:17 +0200 Subject: [PATCH 064/131] build_loop.yml: Disable upstream sync with optional repository variable (#67) Set an optional "SYNC_UPSTREAM" repository variable to 'false' to disable syncing of fork with the upstream repository --- .github/workflows/build_loop.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 35516da0b..a0555441d 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -15,7 +15,7 @@ env: UPSTREAM_BRANCH: ${{ github.ref_name }} # branch on upstream repository to sync from (relpace with specific branch name if needed) TARGET_BRANCH: ${{ github.ref_name }} # target branch on fork to be kept in sync, and target branch on upstream to be kept alive (relpace with specific branch name if needed) ALIVE_BRANCH: alive - SYNC_UPSTREAM: 'true' # set to 'false' or 'true' to disable / enable syncing of fork with upstream repository + SYNC_UPSTREAM: ${{ vars.SYNC_UPSTREAM }} # set an optional "SYNC_UPSTREAM" repository variable to 'false' to disable syncing of fork with the upstream repository jobs: check_latest_from_upstream: @@ -32,7 +32,7 @@ jobs: ref: alive - name: Sync upstream changes - if: ${{ env.SYNC_UPSTREAM == 'true' }} && github.repository_owner != 'LoopKit' # do not run the upstream sync action on the upstream repository + if: ${{ env.SYNC_UPSTREAM != 'false' && github.repository_owner != 'LoopKit' }} # do not run the upstream sync action on the upstream repository id: sync uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 with: @@ -79,7 +79,7 @@ jobs: ref: ${{ env.TARGET_BRANCH }} - name: Sync upstream changes - if: ${{ env.SYNC_UPSTREAM == 'true' }} && github.repository_owner != 'LoopKit' # do not run the upstream sync action on the upstream repository + if: ${{ env.SYNC_UPSTREAM != 'false' && github.repository_owner != 'LoopKit' }} # do not run the upstream sync action on the upstream repository id: sync uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 with: From 6ffbb02d685b44ca5caabfc8add0bcd581958efc Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Thu, 13 Jul 2023 08:19:48 -0500 Subject: [PATCH 065/131] Update submodules (#68) G7 Logging fix Libre Demo retain fix NightscoutRemoteCGM fix deployment target --- G7SensorKit | 2 +- LibreTransmitter | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- NightscoutRemoteCGM | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/G7SensorKit b/G7SensorKit index dacd92b12..ae975295a 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit dacd92b12d5b3154825c5c22b1cc6a84b6bab583 +Subproject commit ae975295af3d4fd342d6915f08a900abd92f19fb diff --git a/LibreTransmitter b/LibreTransmitter index 53587cb50..cb085301d 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 53587cb501fe2698395f39a6b68e7396bfcec119 +Subproject commit cb085301d38a922dfc2b8fb4c8179a14e391bf33 diff --git a/LogglyService b/LogglyService index 94b5ba169..a22791675 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit 94b5ba1691d49130966455725e447e4070ae885e +Subproject commit a227916750e90a7268a60340a1ea2baa1a9e4f76 diff --git a/Loop b/Loop index b4a556789..f04d40f70 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit b4a5567892bd47c0524d80efe26aead326f82cde +Subproject commit f04d40f70246c9fe0ac6b6de35e66d1329b469db diff --git a/LoopKit b/LoopKit index 26ab8f752..501d02b03 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 26ab8f752a0c243bd861a3be8f8bd2702b14f490 +Subproject commit 501d02b03eb656e15da42d924333572046f65f40 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index 9c6e4ea4e..bda42cc00 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit 9c6e4ea4ec64a4b698308d7d0ff4fa6dba9e7499 +Subproject commit bda42cc0095f56b189b0c0907deccbe8cb6f01f2 From b2efacad7ee9df595c14b8a3bece1be4595c923f Mon Sep 17 00:00:00 2001 From: bjornoleh <63544115+bjornoleh@users.noreply.github.com> Date: Thu, 13 Jul 2023 18:14:42 +0200 Subject: [PATCH 066/131] build_loop.yml: Separate checkout repo for building (#69) * build_loop.yml: build_loop.yml: Separate checkout repo for building Checkout for syncing without submodules: recursive * build_loop.yml: remove "submodules: recursive" from checkout for syncing, fix typo. --- .github/workflows/build_loop.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index a0555441d..74cd09e56 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -71,11 +71,10 @@ jobs: - name: Select Xcode version run: "sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer" - - name: Checkout Repo + - name: Checkout Repo for syncing uses: actions/checkout@v3 with: token: ${{ secrets.GH_PAT }} - submodules: recursive ref: ${{ env.TARGET_BRANCH }} - name: Sync upstream changes @@ -103,6 +102,13 @@ jobs: echo ${{ steps.sync.outputs.has_new_commits }} echo "NEW_COMMITS=${{ steps.sync.outputs.has_new_commits }}" >> $GITHUB_OUTPUT + - name: Checkout Repo for building + uses: actions/checkout@v3 + with: + token: ${{ secrets.GH_PAT }} + submodules: recursive + ref: ${{ env.TARGET_BRANCH }} + # Customize Loop: Download and apply patches - name: Customize Loop run: | From 0ce234fe6d7aa127128aa1a5905ca49aae80f1c9 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 22 Jul 2023 10:55:06 -0500 Subject: [PATCH 067/131] Bring in IRC changes and always use dynamic carbs --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index f04d40f70..1ed60bda2 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit f04d40f70246c9fe0ac6b6de35e66d1329b469db +Subproject commit 1ed60bda2119151671c34c0048f630722472a264 diff --git a/LoopKit b/LoopKit index 501d02b03..d45ad432a 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 501d02b03eb656e15da42d924333572046f65f40 +Subproject commit d45ad432afa9ffce731d7edd256e2bf303b625ce From 29aed3e9e62ce0a647bc221f4b5fd07e93ebc3f9 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 24 Jul 2023 21:05:50 -0500 Subject: [PATCH 068/131] Bring in changes to move charts to LoopKit --- Loop | 2 +- LoopKit | 2 +- Scripts/update_submodule_refs.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Loop b/Loop index 1ed60bda2..ebd77d3df 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 1ed60bda2119151671c34c0048f630722472a264 +Subproject commit ebd77d3df07b97894a52a19419ff35689df776b9 diff --git a/LoopKit b/LoopKit index d45ad432a..6b12dbace 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit d45ad432afa9ffce731d7edd256e2bf303b625ce +Subproject commit 6b12dbace4c746e89e2f6c4e4aa00f54ff23c25e diff --git a/Scripts/update_submodule_refs.sh b/Scripts/update_submodule_refs.sh index e09a8a30c..a91aaac24 100755 --- a/Scripts/update_submodule_refs.sh +++ b/Scripts/update_submodule_refs.sh @@ -1,6 +1,6 @@ #!/bin/zsh -projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main LoopKit:LibreTransmitter:main) +projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main LoopKit:LibreTransmitter:main) for project in ${projects}; do echo "Updating to $project" From 6173e8327559a6cb4b4a072e3c9d66430daef89c Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Tue, 25 Jul 2023 11:21:12 -0500 Subject: [PATCH 069/131] Homescreen Medium Widget, and insulin suspension forecast preview --- Loop | 2 +- .../xcshareddata/xcschemes/LoopWorkspace.xcscheme | 4 ++-- TidepoolService | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Loop b/Loop index ebd77d3df..84e778f50 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit ebd77d3df07b97894a52a19419ff35689df776b9 +Subproject commit 84e778f501bf841ec2983fbd1a27a1adee06ae35 diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index c073cd07c..627ce0f17 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -365,8 +365,8 @@ diff --git a/TidepoolService b/TidepoolService index 28e647630..e118d8f7e 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 28e647630438b52380cbfa41bd301d0a6252c235 +Subproject commit e118d8f7e827e3ce4cafa6e16ef7eda99bddfd34 From 510ef8105844d40ed8b4c259dd76ee0bdda0e9e3 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Thu, 27 Jul 2023 09:31:36 -0500 Subject: [PATCH 070/131] Fastlane widget bundleid updates (#75) * Update build_loop.yml * Update build_loop.yml * Update Fastfile for widget extension bundle id change --- fastlane/Fastfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0882046db..6b83bcaee 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -60,7 +60,7 @@ platform :ios do "com.#{TEAMID}.loopkit.Loop.LoopWatch.watchkitextension", "com.#{TEAMID}.loopkit.Loop.LoopWatch", "com.#{TEAMID}.loopkit.Loop.Loop-Intent-Extension", - "com.#{TEAMID}.loopkit.Loop.SmallStatusWidget" + "com.#{TEAMID}.loopkit.Loop.LoopWidgetExtension" ] ) @@ -123,9 +123,9 @@ platform :ios do update_code_signing_settings( path: "#{GITHUB_WORKSPACE}/Loop/Loop.xcodeproj", - profile_name: mapping["com.#{TEAMID}.loopkit.Loop.SmallStatusWidget"], + profile_name: mapping["com.#{TEAMID}.loopkit.Loop.LoopWidgetExtension"], code_sign_identity: "iPhone Distribution", - targets: ["SmallStatusWidgetExtension"] + targets: ["Loop Widget Extension"] ) gym( @@ -201,7 +201,7 @@ platform :ios do Spaceship::ConnectAPI::BundleIdCapability::Type::SIRIKIT ]) - configure_bundle_id("Small Status Widget", "com.#{TEAMID}.loopkit.Loop.SmallStatusWidget", [ + configure_bundle_id("Loop Widget Extension", "com.#{TEAMID}.loopkit.Loop.LoopWidgetExtension", [ Spaceship::ConnectAPI::BundleIdCapability::Type::APP_GROUPS ]) @@ -228,7 +228,7 @@ platform :ios do "com.#{TEAMID}.loopkit.Loop.LoopWatch.watchkitextension", "com.#{TEAMID}.loopkit.Loop.LoopWatch", "com.#{TEAMID}.loopkit.Loop.Loop-Intent-Extension", - "com.#{TEAMID}.loopkit.Loop.SmallStatusWidget", + "com.#{TEAMID}.loopkit.Loop.LoopWidgetExtension", ] ) end From 1653513c052d132e3c19adc20849fd91fcf4f53b Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 31 Jul 2023 09:39:48 -0500 Subject: [PATCH 071/131] Adding top-to-bottom algorithm test --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index 84e778f50..c1e5330b7 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 84e778f501bf841ec2983fbd1a27a1adee06ae35 +Subproject commit c1e5330b7147393598821a5034c719536fa487bf diff --git a/LoopKit b/LoopKit index 6b12dbace..3c1232a79 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 6b12dbace4c746e89e2f6c4e4aa00f54ff23c25e +Subproject commit 3c1232a79a4f86275805bbd8388ec6eee678c164 From ecbc9bd543b5ba8fde1257d83eba6412abc4cb73 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 9 Aug 2023 16:41:21 -0500 Subject: [PATCH 072/131] Submodule updates --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index c1e5330b7..bdf9ca300 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit c1e5330b7147393598821a5034c719536fa487bf +Subproject commit bdf9ca300a5dd751937d2d2612445ad9374fbee8 diff --git a/LoopKit b/LoopKit index 3c1232a79..675655b83 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 3c1232a79a4f86275805bbd8388ec6eee678c164 +Subproject commit 675655b833bcd5aef2391c47562b57a213bfffb4 From 8271e9ee8e74049e55ac19ad8f4538ef32d30cfc Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 9 Aug 2023 17:46:28 -0500 Subject: [PATCH 073/131] Fix for crash when running forecast previews --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index bdf9ca300..7b234dba0 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit bdf9ca300a5dd751937d2d2612445ad9374fbee8 +Subproject commit 7b234dba046ac6ef554bf3cb115e501d53a14347 From 72364250d2578247c01ae6967fdcb3a8e577ac0b Mon Sep 17 00:00:00 2001 From: Noah Brauner <66573062+SwiftlyNoah@users.noreply.github.com> Date: Tue, 15 Aug 2023 20:42:41 -0400 Subject: [PATCH 074/131] Tidepool Sync (#80) --- Loop | 2 +- LoopConfigOverride.xcconfig | 2 +- LoopKit | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Loop b/Loop index 7b234dba0..9242f9dc9 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 7b234dba046ac6ef554bf3cb115e501d53a14347 +Subproject commit 9242f9dc911f6849f230a5b8461444827542829a diff --git a/LoopConfigOverride.xcconfig b/LoopConfigOverride.xcconfig index bcf7df726..114719502 100644 --- a/LoopConfigOverride.xcconfig +++ b/LoopConfigOverride.xcconfig @@ -10,7 +10,7 @@ //URL_SCHEME_NAME = $(MAIN_APP_DISPLAY_NAME) // Features -SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) SIMULATORS_ENABLED ALLOW_ALGORITHM_EXPERIMENTS //DEBUG_FEATURES_ENABLED +SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) EXPERIMENTAL_FEATURES_ENABLED SIMULATORS_ENABLED ALLOW_ALGORITHM_EXPERIMENTS //DEBUG_FEATURES_ENABLED // Put your team id here for signing //LOOP_DEVELOPMENT_TEAM = UY678SP37Q diff --git a/LoopKit b/LoopKit index 675655b83..738d1a14e 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 675655b833bcd5aef2391c47562b57a213bfffb4 +Subproject commit 738d1a14edb34eadb3f47706de2ba06516dd2037 From ca36d0742773ce92902b89b5f5144e458b5dd2e6 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 16 Aug 2023 09:59:04 -0500 Subject: [PATCH 075/131] Sync script updates (#81) * Tidepool Sync * Make sure diffs exist, merge in LoopKit updates --- LoopKit | 2 +- Scripts/sync.swift | 144 ++++++++++++++++++++------------------------- 2 files changed, 66 insertions(+), 80 deletions(-) diff --git a/LoopKit b/LoopKit index 738d1a14e..0f6f72f9f 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 738d1a14edb34eadb3f47706de2ba06516dd2037 +Subproject commit 0f6f72f9f10bfa80d8296fa5646b1d02a823b6a7 diff --git a/Scripts/sync.swift b/Scripts/sync.swift index af3f97e1e..b4ecd1837 100755 --- a/Scripts/sync.swift +++ b/Scripts/sync.swift @@ -6,21 +6,57 @@ import Foundation import Cocoa import AsyncSwiftGit // @bdewey -import OctoKit // /Users/pete/dev/octokit.swift +import OctoKit // nerdishbynature/octokit.swift == main + +let createPRs = false + +guard CommandLine.arguments.count == 3 else { + print("usage: sync.swift ") + exit(1) +} +let pullRequestName = CommandLine.arguments[1] // example: "LOOP-4688 DIY Sync" +let syncBranch = CommandLine.arguments[2] // example: "ps/LOOP-4688/diy-sync" + +enum EnvError: Error { + case missing(String) +} + +func getEnv(_ name: String) throws -> String { + guard let value = ProcessInfo.processInfo.environment[name] else { + throw EnvError.missing(name) + } + return value +} + +let ghUsername = try getEnv("GH_USERNAME") +let ghToken = try getEnv("GH_TOKEN") +let ghCommitterName = try getEnv("GH_COMMITTER_NAME") +let ghCommitterEmail = try getEnv("GH_COMMITTER_EMAIL") struct Project { let project: String let branch: String + let subdir: String - init(_ project: String, _ branch: String) { + init(_ project: String, _ branch: String, _ subdir: String = "") { self.project = project self.branch = branch + self.subdir = subdir + } + + var path: String { + if subdir.isEmpty { + return project + } else { + return subdir + "/" + project + } } } let projects = [ Project("Loop", "dev"), Project("LoopKit", "dev"), + Project("TidepoolService", "dev"), Project("CGMBLEKit", "dev"), Project("dexcom-share-client-swift", "dev"), Project("RileyLinkKit", "dev"), @@ -32,49 +68,31 @@ let projects = [ Project("NightscoutRemoteCGM", "dev"), Project("LoopSupport", "dev"), Project("G7SensorKit", "main"), - Project("TidepoolService", "dev"), - Project("TidepoolKit", "dev"), Project("OmniKit", "main"), - Project("MinimedKit", "main") + Project("MinimedKit", "main"), + Project("LibreTransmitter", "main") ] let fm = FileManager.default let loopkit = URL(string: "https://github.com/LoopKit")! let tidepool = URL(string: "https://github.com/tidepool-org")! -let syncBranch = "tidepool-sync" let incomingRemote = "tidepool" -enum EnvError: Error { - case missing(String) -} - -func getEnv(_ name: String) throws -> String { - guard let value = ProcessInfo.processInfo.environment[name] else { - throw EnvError.missing(name) - } - return value -} - -let ghUsername = try getEnv("GH_USERNAME") -let ghToken = try getEnv("GH_TOKEN") -let ghCommitterName = try getEnv("GH_COMMITTER_NAME") -let ghCommitterEmail = try getEnv("GH_COMMITTER_EMAIL") - let octokit = Octokit(TokenConfiguration(ghToken)) let credentials = Credentials.plaintext(username: ghUsername, password: ghToken) let signature = try! Signature(name: ghCommitterName, email: ghCommitterEmail) for project in projects { - let dest = URL(string: fm.currentDirectoryPath)!.appendingPathComponent(project.project) + let dest = URL(string: fm.currentDirectoryPath)!.appendingPathComponent(project.path) let repository: AsyncSwiftGit.Repository - if !fm.fileExists(atPath: project.project) { + if !fm.fileExists(atPath: dest.path) { print("Cloning \(project.project)") let url = loopkit.appendingPathComponent(project.project) repository = try await Repository.clone(from: url, to: dest) print("Cloned \(project.project)") } else { - print("Already Exists: \(project.project)") + print("Already Exists: \(project.path)") repository = try Repository(openAt: dest) } @@ -95,11 +113,10 @@ for project in projects { // Merge changes from tidepool to diy try await repository.merge(revisionSpecification: "\(incomingRemote)/\(project.branch)", signature: signature) - let (ahead, behind) = try repository.commitsAheadBehind(other: "origin/\(project.branch)") - print("Ahead = \(ahead)") - print("Behind = \(behind)") + let originTree = try repository.lookupTree(for: "origin/\(project.branch)") + let diff = try repository.diff(originTree, repository.headTree) - guard ahead > 0 else { + guard diff.count > 0 else { print("No incoming changes; skipping PR creation.") try await repository.checkout(revspec: project.branch) continue @@ -110,55 +127,24 @@ for project in projects { print("Pushing \(refspec) to \(project.project)") try await repository.push(remoteName: "origin", refspecs: [refspec], credentials: credentials) - // Make sure a PR exists, or create it - let prs = try await octokit.listPullRequests(owner: "LoopKit", repo: project.project, base: project.branch, head:"LoopKit:tidepool-sync") - let pr: PullRequest - if prs.count == 0 { - pr = try await octokit.createPullRequest(owner: "LoopKit", repo: project.project, title: "Tidepool Sync", head: "LoopKit:" + syncBranch, base: project.branch, body: "") - print("PR = \(pr)") - } else { - pr = prs.first! - } - if let url = pr.htmlURL { - if NSWorkspace.shared.open(url) { - print("default browser was successfully opened") - - } - } + if createPRs { + // Make sure a PR exists, or create it + + let prs = try await octokit.pullRequests(owner: "LoopKit", repository: project.project, base: project.branch, head:"LoopKit:" + syncBranch) + let pr: PullRequest + if prs.count == 0 { + pr = try await octokit.createPullRequest(owner: "LoopKit", repo: project.project, title: pullRequestName, head: "LoopKit:" + syncBranch, base: project.branch, body: "") + print("PR = \(pr)") + } else { + pr = prs.first! + } + if let url = pr.htmlURL { + if NSWorkspace.shared.open(url) { + print("default browser was successfully opened") + } + } + } else { + print("Skipping PR creation") + } } -extension Octokit { - func createPullRequest(owner: String, - repo: String, - title: String, - head: String, - headRepo: String? = nil, - base: String, - body: String? = nil, - maintainerCanModify: Bool? = nil, - draft: Bool? = nil) async throws -> PullRequest - { - return try await withCheckedThrowingContinuation { continuation in - octokit.createPullRequest(owner: owner, repo: repo, title: title, head: head, headRepo: headRepo, base: base, body: body, maintainerCanModify: maintainerCanModify, draft: draft) - { response in - continuation.resume(with: response) - } - } - } - - func listPullRequests(owner: String, - repo: String, - base: String? = nil, - head: String? = nil, - state: Openness = .open, - sort: SortType = .created, - direction: SortDirection = .desc) async throws -> [PullRequest] - { - return try await withCheckedThrowingContinuation { continuation in - octokit.pullRequests(owner: owner, repository: repo, base: base, head: head, state: state, sort: sort, direction: direction) - { response in - continuation.resume(with: response) - } - } - } -} From dc1d1f1c38983fd891aff6eae1378838bfcf5cba Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Thu, 17 Aug 2023 09:16:18 -0500 Subject: [PATCH 076/131] Bring in LoopDataManager race condition fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 9242f9dc9..3c3b4e081 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 9242f9dc911f6849f230a5b8461444827542829a +Subproject commit 3c3b4e08171e2ad198ea0234b21649e644bd37aa From 263d17bb2af35ec1131cac7b2f6d5898fd858a74 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 19 Aug 2023 14:05:06 -0500 Subject: [PATCH 077/131] Update translation repo list --- Scripts/import_localizations.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index 11bfd46ae..341cd42b1 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -27,7 +27,7 @@ lokalise2 \ --replace-breaks=false \ --unzip-to ./xliff_in -projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutAPIClient:master ps2:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:rileylink_ios:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) +projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutAPIClient:master LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev LoopKit:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) for project in ${projects}; do echo "Prepping $project" From 024b37c77b6e8a3a99cf43defe3e49ce6c6b1f15 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 20 Aug 2023 13:21:33 -0500 Subject: [PATCH 078/131] Update translations from Lokalise (#82) * Update translations from Lokalise * Bring in translations for more repos * Bring in translations for more repos --- AmplitudeService | 2 +- CGMBLEKit | 2 +- G7SensorKit | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- NightscoutService | 2 +- OmniKit | 2 +- RileyLinkKit | 2 +- Scripts/import_localizations.sh | 2 +- TidepoolService | 2 +- dexcom-share-client-swift | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index cad61203b..119902fcb 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit cad61203b44514c39060f3aaa58e7bf225d5c118 +Subproject commit 119902fcb91859d4317c54ec7571e6af36eb9e76 diff --git a/CGMBLEKit b/CGMBLEKit index 2d1b8f1e1..604e54244 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 2d1b8f1e1bc7e24c8b9d9560ec3ad75f3127f23a +Subproject commit 604e5424447df64ae86bdccef05338f662fe3d5d diff --git a/G7SensorKit b/G7SensorKit index ae975295a..87946c727 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit ae975295af3d4fd342d6915f08a900abd92f19fb +Subproject commit 87946c727a61f0434c2c0da0e807b1671aafdd72 diff --git a/LogglyService b/LogglyService index a22791675..6f94a8e6d 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit a227916750e90a7268a60340a1ea2baa1a9e4f76 +Subproject commit 6f94a8e6d74688b14496aeb9200882a43da15fcc diff --git a/Loop b/Loop index 3c3b4e081..dc5316cd5 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3c3b4e08171e2ad198ea0234b21649e644bd37aa +Subproject commit dc5316cd505f201630b2bfcdb9a98c2967706ff4 diff --git a/LoopKit b/LoopKit index 0f6f72f9f..0153a4736 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 0f6f72f9f10bfa80d8296fa5646b1d02a823b6a7 +Subproject commit 0153a4736c7a3895e9722ea5474f32ffec1e618b diff --git a/LoopOnboarding b/LoopOnboarding index f861bfaa2..c548ad9ed 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit f861bfaa2caf580919e6516d63e26474d0aeb70f +Subproject commit c548ad9ed39f91f1473de6babce103aa893bc389 diff --git a/LoopSupport b/LoopSupport index 264c67c84..266a6426e 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 264c67c84a54882a444383797aba7134b9261cb0 +Subproject commit 266a6426ef69b64a99570378efc29384261c3ded diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index b7db35562..8caef92b9 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -60,7 +60,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "9d22748c31c407345931bdba7327614345ab7b8d" + "revision" : "4b61e4e280a3e26784b7697f64d9c51cdf152e2d" } }, { diff --git a/MinimedKit b/MinimedKit index a0c17c83b..4fc46132e 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit a0c17c83b9955b35183d8cc4184255b60997242e +Subproject commit 4fc46132e623b89aa238eba31d75e6b8998ea1dd diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index bda42cc00..c5a131cbf 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit bda42cc0095f56b189b0c0907deccbe8cb6f01f2 +Subproject commit c5a131cbf7054529341ab0ce04cc211e5fe41930 diff --git a/NightscoutService b/NightscoutService index 01df95b2f..2b7e4f855 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 01df95b2f61275fdf38a63d1b3f25a9b268fe010 +Subproject commit 2b7e4f855c3169bf05c6c6b9293f0127bc1b6de6 diff --git a/OmniKit b/OmniKit index 7b5b0bb0f..f93cff679 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit 7b5b0bb0f19a6fdb2f42c0f2a370c678813c4ad3 +Subproject commit f93cff6796cb4348d60baa1c10a50c5f4a5b0472 diff --git a/RileyLinkKit b/RileyLinkKit index 5616a6b7d..aa920236a 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit 5616a6b7d15caf293025b4ed1768be707795f4bd +Subproject commit aa920236a2f4d6b01dd85426dc515877879b2000 diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index 341cd42b1..ad565ace3 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -27,7 +27,7 @@ lokalise2 \ --replace-breaks=false \ --unzip-to ./xliff_in -projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutAPIClient:master LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolKit:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev LoopKit:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) +projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev LoopKit:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) for project in ${projects}; do echo "Prepping $project" diff --git a/TidepoolService b/TidepoolService index e118d8f7e..6c746b0aa 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit e118d8f7e827e3ce4cafa6e16ef7eda99bddfd34 +Subproject commit 6c746b0aa11c788c9c27362a1e95bfc631d328a2 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 551dcf0a6..c6c5309eb 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 551dcf0a6821ea326df3196fd0afce3eae57e12a +Subproject commit c6c5309ebdc76aa7aa4a88941fb4a6e0d07cce8d From 484d3b4fc71f5bcef30f6464077f0c59a23bc434 Mon Sep 17 00:00:00 2001 From: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com> Date: Sun, 20 Aug 2023 20:24:32 +0200 Subject: [PATCH 079/131] Scheduled build improvements (#71) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add conditional scheduled build and sync * Update testflight.md with instructions for scheduling setup * Fix typo * Remove GITHUB_TOKEN; use GH_PAT instead * Update testflight.md with instructions how to add workflow scope * Fixed conditions for scheduled build * Fix upstream repo owner * Refactor build to use workflow permissions and auto-create alive branch * Change GITHUB_TOKEN to GH_PAT * Change token to GITHUB_TOKEN where appropriate; Make env variable names more descriptive * Fix broken alive branch auto-creation * Update testflight.md with opt-out and new config info * Update cron for sync and schedule, update build condition * Fix typo… * Update testflight.md with suggestions and re-organized contents * Fix typo from PR74 --- .github/workflows/build_loop.yml | 139 +++++++++++++++++++++++++++---- fastlane/testflight.md | 118 +++++++++++++++++++++----- 2 files changed, 224 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 74cd09e56..bce7ef5d0 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -7,32 +7,105 @@ on: #push: schedule: - - cron: '0 04 * * *' # Checks for updates at 04:00 UTC every day - - cron: '0 04 1 * *' # Builds the app on the 1th every month + - cron: '0 8 * * 3' # Checks for updates at 08:00 am UTC every Wednesday + - cron: '0 8 1 * 6' # Builds the app on the 1st Saturday every month at 08:00 am UTC env: UPSTREAM_REPO: LoopKit/LoopWorkspace - UPSTREAM_BRANCH: ${{ github.ref_name }} # branch on upstream repository to sync from (relpace with specific branch name if needed) - TARGET_BRANCH: ${{ github.ref_name }} # target branch on fork to be kept in sync, and target branch on upstream to be kept alive (relpace with specific branch name if needed) + 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, and target branch on upstream to be kept alive (replace with specific branch name if needed) ALIVE_BRANCH: alive - SYNC_UPSTREAM: ${{ vars.SYNC_UPSTREAM }} # set an optional "SYNC_UPSTREAM" repository variable to 'false' to disable syncing of fork with the upstream repository + WORKFLOW_PERMISSIONS: false jobs: + secrets: + uses: ./.github/workflows/validate_secrets.yml + secrets: inherit + + # Checks if GH_PAT holds workflow permissions + # Checks for existence of alive branch; if non-existent creates it + check_alive_and_permissions: + needs: secrets + runs-on: ubuntu-latest + name: Check alive branch and permissions + permissions: + contents: write + outputs: + WORKFLOW_PERMISSION: ${{ steps.workflow-permission.outputs.has_permission }} + + steps: + - name: Check for workflow permissions + id: workflow-permission + env: + TOKEN_TO_CHECK: ${{ secrets.GH_PAT }} + run: | + PERMISSIONS=$(curl -sS -f -I -H "Authorization: token ${{ env.TOKEN_TO_CHECK }}" https://api.github.com | grep ^x-oauth-scopes: | cut -d' ' -f2-); + + if [[ $PERMISSIONS =~ "workflow" || $PERMISSIONS == "" ]]; then + echo "GH_PAT holds workflow permissions or is fine-grained PAT." + echo "has_permission=true" >> $GITHUB_OUTPUT # Set WORKFLOW_PERMISSION to false. + else + echo "GH_PAT lacks workflow permissions." + echo "Automated build features will be skipped!" + echo "has_permission=false" >> $GITHUB_OUTPUT # Set WORKFLOW_PERMISSION to false. + fi + + - name: Check for alive branch + if: steps.workflow-permission.outputs.has_permission == 'true' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if [[ "$(gh api -H "Accept: application/vnd.github+json" /repos/${{ github.repository_owner }}/LoopWorkspace/branches | jq --raw-output 'any(.name=="alive")')" == "true" ]]; then + echo "Branch 'alive' exists." + echo "ALIVE_BRANCH_EXISTS=true" >> $GITHUB_ENV # Set ALIVE_BRANCH_EXISTS to true + else + echo "Branch 'alive' does not exist." + echo "ALIVE_BRANCH_EXISTS=false" >> $GITHUB_ENV # Set ALIVE_BRANCH_EXISTS to false + fi + + - name: Create alive branch + if: env.ALIVE_BRANCH_EXISTS != 'true' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + # Get ref for LoopKit/LoopWorkspace:dev + SHA=$(curl -sS https://api.github.com/repos/${{ env.UPSTREAM_REPO }}/git/refs \ + | jq '.[] | select(.ref == "refs/heads/dev" ) | .object.sha' \ + | tr -d '"' + ); + + # Create alive branch based on LoopKit/LoopWorkspace:dev + gh api \ + --method POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + /repos/${{ github.repository_owner }}/LoopWorkspace/git/refs \ + -f ref='refs/heads/alive' \ + -f sha=$SHA + + # Checks for changes in upstream repository; if changes exist prompts sync for build + # Performs keepalive to avoid stale fork check_latest_from_upstream: + needs: check_alive_and_permissions runs-on: ubuntu-latest name: Check upstream and keep alive outputs: NEW_COMMITS: ${{ steps.sync.outputs.has_new_commits }} - + steps: - name: Checkout target repo + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + (vars.SCHEDULED_BUILD != 'false' || vars.SCHEDULED_SYNC != 'false') uses: actions/checkout@v3 with: token: ${{ secrets.GH_PAT }} ref: alive - name: Sync upstream changes - if: ${{ env.SYNC_UPSTREAM != 'false' && github.repository_owner != 'LoopKit' }} # do not run the upstream sync action on the upstream repository + if: | # do not run the upstream sync action on the upstream repository + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + vars.SCHEDULED_SYNC != 'false' && github.repository_owner != 'LoopKit' id: sync uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 with: @@ -44,41 +117,72 @@ jobs: # Display a sample message based on the sync output var 'has_new_commits' - name: New commits found - if: steps.sync.outputs.has_new_commits == 'true' + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + vars.SCHEDULED_SYNC != 'false' && steps.sync.outputs.has_new_commits == 'true' run: echo "New commits were found to sync." - name: No new commits - if: steps.sync.outputs.has_new_commits == 'false' + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + vars.SCHEDULED_SYNC != 'false' && steps.sync.outputs.has_new_commits == 'false' run: echo "There were no new commits." - name: Show value of 'has_new_commits' + if: needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && vars.SCHEDULED_SYNC != 'false' run: | echo ${{ steps.sync.outputs.has_new_commits }} echo "NEW_COMMITS=${{ steps.sync.outputs.has_new_commits }}" >> $GITHUB_OUTPUT - + # Keep repository "alive": add empty commits to ALIVE_BRANCH after "time_elapsed" days of inactivity to avoid inactivation of scheduled workflows - name: Keep alive + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + (vars.SCHEDULED_BUILD != 'false' || vars.SCHEDULED_SYNC != 'false') uses: gautamkrishnar/keepalive-workflow@v1 # using the workflow with default settings with: time_elapsed: 20 # Time elapsed from the previous commit to trigger a new automated commit (in days) + + - name: Show scheduled build configuration message + if: needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION != 'true' + run: | + echo "### :calendar: Scheduled Sync and Build Disabled :mobile_phone_off:" >> $GITHUB_STEP_SUMMARY + echo "You have not yet configured the scheduled sync and build for Loop's browser build." >> $GITHUB_STEP_SUMMARY + echo "Synchronizing your fork of LoopWorkspace with the upstream repository LoopKit/LoopWorkspace will be skipped." >> $GITHUB_STEP_SUMMARY + echo "If you want to enable automatic builds and updates for your Loop, please follow the instructions \ + under the following path LoopWorkspace/fastlane/testflight.md." >> $GITHUB_STEP_SUMMARY + + # Builds Loop build: name: Build needs: check_latest_from_upstream runs-on: macos-13 - if: ${{ github.event_name == 'workflow_dispatch' || github.event.schedule == '0 04 1 * *' || needs.check_latest_from_upstream.outputs.NEW_COMMITS == 'true' }} # runs if started manually, or if scheduled on the first each month, or if new commits were found + permissions: + contents: write + if: | # runs if started manually, or if sync schedule is set and enabled and scheduled on the first Saturday each month, or if sync schedule is set and enabled and new commits were found + github.event_name == 'workflow_dispatch' || + (needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + (vars.SCHEDULED_BUILD != 'false' && github.event.schedule == '0 8 1 * 6') || + (vars.SCHEDULED_SYNC != 'false' && needs.check_latest_from_upstream.outputs.NEW_COMMITS == 'true' ) + ) steps: - name: Select Xcode version run: "sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer" - name: Checkout Repo for syncing + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + vars.SCHEDULED_SYNC != 'false' uses: actions/checkout@v3 with: token: ${{ secrets.GH_PAT }} ref: ${{ env.TARGET_BRANCH }} - name: Sync upstream changes - if: ${{ env.SYNC_UPSTREAM != 'false' && github.repository_owner != 'LoopKit' }} # do not run the upstream sync action on the upstream repository + if: | # do not run the upstream sync action on the upstream repository + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + vars.SCHEDULED_SYNC != 'false' && github.repository_owner != 'LoopKit' id: sync uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 with: @@ -90,14 +194,21 @@ jobs: # Display a sample message based on the sync output var 'has_new_commits' - name: New commits found - if: steps.sync.outputs.has_new_commits == 'true' + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + vars.SCHEDULED_SYNC != 'false' && steps.sync.outputs.has_new_commits == 'true' run: echo "New commits were found to sync." - name: No new commits - if: steps.sync.outputs.has_new_commits == 'false' + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && + vars.SCHEDULED_SYNC != 'false' && steps.sync.outputs.has_new_commits == 'false' run: echo "There were no new commits." - name: Show value of 'has_new_commits' + if: | + needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' + && vars.SCHEDULED_SYNC != 'false' run: | echo ${{ steps.sync.outputs.has_new_commits }} echo "NEW_COMMITS=${{ steps.sync.outputs.has_new_commits }}" >> $GITHUB_OUTPUT diff --git a/fastlane/testflight.md b/fastlane/testflight.md index e763353d3..46f1444b7 100644 --- a/fastlane/testflight.md +++ b/fastlane/testflight.md @@ -7,7 +7,24 @@ These instructions allow you to build Loop without having access to a Mac. * You can install Loop on your phone using only the TestFlight app if a phone was lost or the app is accidentally deleted * You do not need to worry about specific Xcode/Mac versions for a given iOS -The setup steps are somewhat involved, but nearly all are one time steps. Subsequent builds are trivial. Your app must be updated once every 90 days, but it's a simple click to make a new build and can be done from anywhere. The 90-day update is a TestFlight requirement, which can be automated. +## **Automatic Builds** +> +> This new version of 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 Saturday 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 +> +> 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** +> - to enable automatic build, your `GH_PAT` token must have `workflow` scope +> - if you previously configured your `GH_PAT` without that scope, see [`GH_PAT` `workflow` permission](#gh_pat-workflow-permission) + +## Introduction + +The setup steps are somewhat involved, but nearly all are one time steps. Subsequent builds are trivial. Your app must be updated once every 90 days, but it's a simple click to make a new build and can be done from anywhere. The 90-day update is a TestFlight requirement, and with this version of Loop, the build process (once you've successfully built once) is automated to update and build at least once a month. There are more detailed instructions in LoopDocs for using GitHub for Browser Builds of Loop, including troubleshooting and build errors. Please refer to: @@ -49,7 +66,7 @@ Log into your GitHub account to create a personal access token; this is one of t 1. Create a [new personal access token](https://github.com/settings/tokens/new): * Enter a name for your token, use "FastLane Access Token". * Change the Expiration selection to `No expiration`. - * Select the `repo` and `workflow` permission scopes. + * Select the `workflow` permission scope - this also selects `repo` scope. * Click "Generate token". * Copy the token and record it. It will be used below as `GH_PAT`. @@ -116,7 +133,7 @@ Note 2 - Depending on your build history, you may find some of the Identifiers a * Loop * Loop Intent Extension * Loop Status Extension - * Small Status Widget + * Loop Widget Extension 1. Click on the identifier's name. 1. On the "App Groups" capabilies, click on the "Configure" button. 1. Select the "Loop App Group" @@ -132,7 +149,7 @@ Note 2 - Depending on your build history, you may find some of the Identifiers a | Loop | com.TEAMID.loopkit.Loop | | Loop Intent Extension | com.TEAMID.loopkit.Loop.Loop-Intent-Extension | | Loop Status Extension | com.TEAMID.loopkit.Loop.statuswidget | -| Small Status Widget | com.TEAMID.loopkit.Loop.SmallStatusWidget | +| Loop Widget Extension | com.TEAMID.loopkit.Loop.LoopWidgetExtension | | WatchApp | com.TEAMID.loopkit.Loop.LoopWatch | | WatchAppExtension | com.TEAMID.loopkit.Loop.LoopWatch.watchkitextension | @@ -152,27 +169,13 @@ If you have created a Loop app in App Store Connect before, you can skip this se You do not need to fill out the next form. That is for submitting to the app store. -## Create Building Certficates +## Create Building Certificates 1. Go back to the "Actions" tab of your LoopWorkspace repository in GitHub. 1. On the left side, select "3. Create Certificates". 1. On the right side, click "Run Workflow", and tap the green `Run workflow` button. 1. Wait, and within a minute or two you should see a green checkmark indicating the workflow succeeded. -## Create a branch named "alive" - -TestFlight builds expire after 90 days. This process you are implementing here will update and rebuild Loop periodically, and requires that you create a branch named "alive" so that GitHub will not inactivate the scheduled rebuild if no code updates are made. - -The "alive" branch will only receive some additional commits to its history, and is not used for building the app. - -1. Go to the "Code" tab of your LoopWorkspace repository. -1. Click the branch selection dropdown button, and then `View all branches`. -1. Click the green "New branch" button (upper right). -1. Type `alive` in the "New branch name" field. -1. Select `LoopKit/LoopWorkspace` as "Source". -1. Select `dev` in the branch dropdown. -1. Click the green "Create new branch" button. - ## Build Loop 1. Click on the "Actions" tab of your LoopWorkspace repository. @@ -187,3 +190,80 @@ The "alive" branch will only receive some additional commits to its history, and ## TestFlight and Deployment Details Please refer to [LoopDocs: Set Up Users](https://loopkit.github.io/loopdocs/gh-actions/gh-first-time/#set-up-users-and-access-testflight) and [LoopDocs: Deploy](https://loopkit.github.io/loopdocs/gh-actions/gh-deploy/) + +## 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. + +## OPTIONAL + +What if you don't want to allow automated updates of the repository or automatic builds? + +You can affect the default behavior: + +1. [`GH_PAT` `workflow` permission](#gh_pat-workflow-permission) +1. [Modify scheduled building and synchronization](#modify-scheduled-building-and-synchronization) + +### `GH_PAT` `workflow` permission + +To enable the scheduled build and sync, the `GH_PAT` must hold the `workflow` permission scopes. This permission serves as the enabler for automatic and scheduled builds with browser build. To verify your token holds this permission, follow these steps. + +1. Go to your [FastLane Access Token](https://github.com/settings/tokens) +2. It should say `repo`, `workflow` next to the `FastLane Access Token` link +3. If it does not, click on the link to open the token detail view +4. Click to check the `workflow` box. You will see that the checked boxes for the `repo` scope become disabled (change color to dark gray and are not clickable) +5. Scroll all the way down to and click the green `Update token` button +6. Your token now holds both required permissions + +If you choose not to have automatic building enabled, be sure the `GH_PAT` has `repo` scope or you won't be able to manually build. + +### Modify scheduled building and synchronization + +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**. + +* 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 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| + +### How to configure a variable + +1. Go to the "Settings" tab of your LoopWorkspace repository. +2. Click on `Secrets and Variables`. +3. Click on `Actions` +4. You will now see a page titled *Actions secrets and variables*. Click on the `Variables` tab +5. To disable ONLY scheduled building, do the following: + - Click on the green `New repository variable` button (upper right) + - Type `SCHEDULED_BUILD` in the "Name" field + - Type `false` in the "Value" field + - Click the green `Add variable` button to save. +7. To disable scheduled syncing, add a variable: + - Click on the green `New repository variable` button (upper right) + - - Type `SCHEDULED_SYNC` in the "Name" field + - Type `false` in the "Value" field + - Click the green `Add variable` button to save + +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 Saturday of the month at 08: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 Saturday 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 From a81e4baee9afb97dd216d0a3e08daeb929970bba Mon Sep 17 00:00:00 2001 From: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com> Date: Wed, 23 Aug 2023 17:14:51 +0200 Subject: [PATCH 080/131] Browser Build "Validate Secrets" Improvements (#77) * Added improved validation and more descriptive error messages * Add validations from suggestions and test feedback * Modify validate_secrets to run in readonly mode * Streamline naming 1/3 * Streamline naming 2/3 * Streamline naming 3/3, add back validation preceding build * Fix LoopWidgetExtension bundle identifier * Add fastlane patterns back after accidentally removing them * Fix Match-Secrets auto-creation and if-condition * validate_secrets.yml: Set pipefail option so that fastlane exit codes are handled correctly * workflows: Include branch in (run) names and use consistent capitalization across reusable job names * This commit is purely aesthetic and aims to make the display names of Jobs consistent across workflows. Likewise, makes spacing and validation error messages consistent. * validate_secrets.yml: Make annotations more "actionable". * validate_secrets.yml: Improve error annotations around GH_PAT permissions * Trivial changes to FASTLANE / ASC error annotations (mention 'Keys' tab) --------- Co-authored-by: Billy Booth --- .github/workflows/add_identifiers.yml | 10 +- .github/workflows/build_loop.yml | 36 +++---- .github/workflows/create_certs.yml | 10 +- .github/workflows/validate_secrets.yml | 140 ++++++++++++++++++------- fastlane/Fastfile | 7 ++ 5 files changed, 140 insertions(+), 63 deletions(-) diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index 62a2b543f..868ca857d 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -1,15 +1,17 @@ name: 2. Add Identifiers -run-name: Add Identifiers +run-name: Add Identifiers (${{ github.ref_name }}) on: workflow_dispatch: jobs: - secrets: + validate: + name: Validate uses: ./.github/workflows/validate_secrets.yml secrets: inherit - + identifiers: - needs: secrets + name: Add Identifiers + needs: validate runs-on: macos-12 steps: # Uncomment to manually select latest Xcode if needed diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index bce7ef5d0..fdc86f4e0 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -5,10 +5,10 @@ on: ## Remove the "#" sign from the beginning of the line below to get automated builds on push (code changes in your repository) #push: - + schedule: - - cron: '0 8 * * 3' # Checks for updates at 08:00 am UTC every Wednesday - - cron: '0 8 1 * 6' # Builds the app on the 1st Saturday every month at 08:00 am UTC + - cron: '0 8 * * 3' # Checks for updates at 08:00 UTC every Wednesday + - cron: '0 8 1 * 6' # Builds the app on the 1st Saturday every month at 08:00 UTC env: UPSTREAM_REPO: LoopKit/LoopWorkspace @@ -18,21 +18,22 @@ env: WORKFLOW_PERMISSIONS: false jobs: - secrets: + validate: + name: Validate uses: ./.github/workflows/validate_secrets.yml secrets: inherit - + # Checks if GH_PAT holds workflow permissions # Checks for existence of alive branch; if non-existent creates it check_alive_and_permissions: - needs: secrets + needs: validate runs-on: ubuntu-latest name: Check alive branch and permissions permissions: contents: write outputs: WORKFLOW_PERMISSION: ${{ steps.workflow-permission.outputs.has_permission }} - + steps: - name: Check for workflow permissions id: workflow-permission @@ -49,7 +50,7 @@ jobs: echo "Automated build features will be skipped!" echo "has_permission=false" >> $GITHUB_OUTPUT # Set WORKFLOW_PERMISSION to false. fi - + - name: Check for alive branch if: steps.workflow-permission.outputs.has_permission == 'true' env: @@ -62,7 +63,7 @@ jobs: echo "Branch 'alive' does not exist." echo "ALIVE_BRANCH_EXISTS=false" >> $GITHUB_ENV # Set ALIVE_BRANCH_EXISTS to false fi - + - name: Create alive branch if: env.ALIVE_BRANCH_EXISTS != 'true' env: @@ -82,7 +83,7 @@ jobs: /repos/${{ github.repository_owner }}/LoopWorkspace/git/refs \ -f ref='refs/heads/alive' \ -f sha=$SHA - + # Checks for changes in upstream repository; if changes exist prompts sync for build # Performs keepalive to avoid stale fork check_latest_from_upstream: @@ -91,7 +92,7 @@ jobs: name: Check upstream and keep alive outputs: NEW_COMMITS: ${{ steps.sync.outputs.has_new_commits }} - + steps: - name: Checkout target repo if: | @@ -101,7 +102,7 @@ jobs: with: token: ${{ secrets.GH_PAT }} ref: alive - + - name: Sync upstream changes if: | # do not run the upstream sync action on the upstream repository needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && @@ -114,7 +115,7 @@ jobs: target_repo_token: ${{ secrets.GH_PAT }} upstream_sync_branch: ${{ env.UPSTREAM_BRANCH }} upstream_sync_repo: ${{ env.UPSTREAM_REPO }} - + # Display a sample message based on the sync output var 'has_new_commits' - name: New commits found if: | @@ -127,7 +128,7 @@ jobs: needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && vars.SCHEDULED_SYNC != 'false' && steps.sync.outputs.has_new_commits == 'false' run: echo "There were no new commits." - + - name: Show value of 'has_new_commits' if: needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && vars.SCHEDULED_SYNC != 'false' run: | @@ -142,7 +143,7 @@ jobs: uses: gautamkrishnar/keepalive-workflow@v1 # using the workflow with default settings with: time_elapsed: 20 # Time elapsed from the previous commit to trigger a new automated commit (in days) - + - name: Show scheduled build configuration message if: needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION != 'true' run: | @@ -152,7 +153,6 @@ jobs: echo "If you want to enable automatic builds and updates for your Loop, please follow the instructions \ under the following path LoopWorkspace/fastlane/testflight.md." >> $GITHUB_STEP_SUMMARY - # Builds Loop build: name: Build @@ -169,7 +169,7 @@ jobs: steps: - name: Select Xcode version run: "sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer" - + - name: Checkout Repo for syncing if: | needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && @@ -178,7 +178,7 @@ jobs: with: token: ${{ secrets.GH_PAT }} ref: ${{ env.TARGET_BRANCH }} - + - name: Sync upstream changes if: | # do not run the upstream sync action on the upstream repository needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index 82961983c..a5e076ffa 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -1,15 +1,17 @@ name: 3. Create Certificates -run-name: Create Certificates +run-name: Create Certificates (${{ github.ref_name }}) on: workflow_dispatch: jobs: - secrets: + validate: + name: Validate uses: ./.github/workflows/validate_secrets.yml secrets: inherit - + certificates: - needs: secrets + name: Create Certificates + needs: validate runs-on: macos-12 steps: # Uncomment to manually select latest Xcode if needed diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index 70401888c..2b0371301 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -1,70 +1,136 @@ name: 1. Validate Secrets -run-name: Validate Secrets +run-name: Validate Secrets (${{ github.ref_name }}) on: [workflow_call, workflow_dispatch] - + jobs: - validate: - runs-on: macos-12 + validate-access-token: + name: Access + runs-on: macos-13 + env: + GH_PAT: ${{ secrets.GH_PAT }} + GH_TOKEN: ${{ secrets.GH_PAT }} + steps: + - name: Validate Access Token + run: | + # Validate Fastlane Access Token (GH_PAT) + if [ -z "$GH_PAT" ]; then + failed=true + echo "::error::The GH_PAT secret is unset or empty. Set it and try again." + elif [ "$(gh api -H "Accept: application/vnd.github+json" /repos/${{ github.repository_owner }}/LoopWorkspace | jq --raw-output '.permissions.push')" != "true" ]; then + failed=true + echo "::error::The GH_PAT secret is set but invalid or lacking at least 'repo' permission scope ('repo, workflow' is okay too).\ + Verify that token permissions are set correctly (or update them) at https://github.com/settings/tokens and try again." + fi + + # Exit unsuccessfully if secret validation failed. + if [ $failed ]; then + exit 2 + fi + + validate-match-secrets: + name: Match-Secrets + needs: validate-access-token + runs-on: macos-13 + env: + GH_TOKEN: ${{ secrets.GH_PAT }} + steps: + - name: Validate Match-Secrets + run: | + # Validate Match-Secrets + if [ "$(gh repo list --json name | jq --raw-output 'any(.name=="Match-Secrets")')" != "true" ]; then + echo "A 'Match-Secrets' repository could not be found. Attempting to create one..."; + + if gh repo create Match-Secrets --private >/dev/null && [ "$(gh repo list --json name,visibility | jq --raw-output '.[] | select(.name=="Match-Secrets") | .visibility == "PRIVATE"')" == "true" ]; then + echo "Created a private 'Match-Secrets' repository." + else + failed=true + echo "::error::Cannot access or create a private 'Match-Secrets' repository. The GH_PAT secret is lacking at least the 'repo' permission scope required to access or create the repository.\ + Verify that token permissions are set correctly (or update them) at https://github.com/settings/tokens and try again." + fi + elif [ "$(gh repo list --json name,visibility | jq --raw-output '.[] | select(.name=="Match-Secrets") | .visibility == "PUBLIC"')" == "true" ]; then + failed=true + echo "::error::A 'Match-Secrets' repository was found, but it is is public. Delete it and try again (a private repository will be created for you)." + fi + + # Exit unsuccessfully if secret validation failed. + if [ $failed ]; then + exit 2 + fi + + validate-fastlane-secrets: + name: Fastlane + needs: validate-match-secrets + runs-on: macos-13 + env: + GH_PAT: ${{ secrets.GH_PAT }} + GH_TOKEN: ${{ secrets.GH_PAT }} + FASTLANE_ISSUER_ID: ${{ secrets.FASTLANE_ISSUER_ID }} + FASTLANE_KEY_ID: ${{ secrets.FASTLANE_KEY_ID }} + FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + TEAMID: ${{ secrets.TEAMID }} steps: - # Checks-out the repo - name: Checkout Repo uses: actions/checkout@v3 - - # Validates the repo secrets - - name: Validate Secrets + + - name: Validate Fastlane Secrets run: | - # Validate Secrets - echo Validating Repository Secrets... + # Validate Fastlane Secrets # Validate TEAMID if [ -z "$TEAMID" ]; then failed=true - echo "::error::TEAMID secret is unset or empty. Set it and try again." + echo "::error::The TEAMID secret is unset or empty. Set it and try again." elif [ ${#TEAMID} -ne 10 ]; then failed=true - echo "::error::TEAMID secret is set but has wrong length. Verify that it is set correctly and try again." + echo "::error::The TEAMID secret is set but has wrong length. Verify that it is set correctly and try again." + elif ! [[ $TEAMID =~ ^[A-Z0-9]+$ ]]; then + failed=true + echo "::error::The TEAMID secret is set but invalid. Verify that it is set correctly (only uppercase letters and numbers) and try again." fi - # Validate GH_PAT - if [ -z "$GH_PAT" ]; then - failed=true - echo "::error::GH_PAT secret is unset or empty. Set it and try again." - elif [ "$(gh api -H "Accept: application/vnd.github+json" /repos/${{ github.repository_owner }}/Match-Secrets | jq --raw-output '.permissions.push')" != "true" ]; then + # Validate MATCH_PASSWORD + if [ -z "$MATCH_PASSWORD" ]; then failed=true - echo "::error::GH_PAT secret is set but invalid or lacking appropriate privileges on the ${{ github.repository_owner }}/Match-Secrets repository. Verify that it is set correctly and try again." + echo "::error::The MATCH_PASSWORD secret is unset or empty. Set it and try again." fi + # Ensure that fastlane exit codes are handled when output is piped. + set -o pipefail + # Validate FASTLANE_ISSUER_ID, FASTLANE_KEY_ID, and FASTLANE_KEY + FASTLANE_KEY_ID_PATTERN='^[A-Z0-9]+$' + FASTLANE_ISSUER_ID_PATTERN='^\{?[A-F0-9a-f]{8}-[A-F0-9a-f]{4}-[A-F0-9a-f]{4}-[A-F0-9a-f]{4}-[A-F0-9a-f]{12}\}?$' + if [ -z "$FASTLANE_ISSUER_ID" ] || [ -z "$FASTLANE_KEY_ID" ] || [ -z "$FASTLANE_KEY" ]; then failed=true [ -z "$FASTLANE_ISSUER_ID" ] && echo "::error::The FASTLANE_ISSUER_ID secret is unset or empty. Set it and try again." [ -z "$FASTLANE_KEY_ID" ] && echo "::error::The FASTLANE_KEY_ID secret is unset or empty. Set it and try again." [ -z "$FASTLANE_KEY" ] && echo "::error::The FASTLANE_KEY secret is unset or empty. Set it and try again." - elif ! echo "$FASTLANE_KEY" | openssl pkcs8 -nocrypt >/dev/null; then + elif [ ${#FASTLANE_KEY_ID} -ne 10 ]; then failed=true - echo "::error::The FASTLANE_KEY secret is set but invalid. Verify that it is set correctly and try again." - elif ! fastlane validate_secrets; then + echo "::error::The FASTLANE_KEY_ID secret is set but has wrong length. Verify that you copied it correctly from the 'Keys' tab at https://appstoreconnect.apple.com/access/api and try again." + elif ! [[ $FASTLANE_KEY_ID =~ $FASTLANE_KEY_ID_PATTERN ]]; then failed=true - echo "::error::Unable to create a valid authorization token for the App Store Connect API.\ - Verify that the FASTLANE_ISSUER_ID, FASTLANE_KEY_ID, and FASTLANE_KEY secrets are set correctly and try again." - fi - - # Validate MATCH_PASSWORD - if [ -z "$MATCH_PASSWORD" ]; then + echo "::error::The FASTLANE_KEY_ID secret is set but invalid. Verify that you copied it correctly from the 'Keys' tab at https://appstoreconnect.apple.com/access/api and try again." + elif ! [[ $FASTLANE_ISSUER_ID =~ $FASTLANE_ISSUER_ID_PATTERN ]]; then failed=true - echo "::error::The MATCH_PASSWORD secret is unset or empty. Set it and try again." + echo "::error::The FASTLANE_ISSUER_ID secret is set but invalid. Verify that you copied it correctly from the 'Keys' tab at https://appstoreconnect.apple.com/access/api and try again." + elif ! echo "$FASTLANE_KEY" | openssl pkcs8 -nocrypt >/dev/null; then + failed=true + echo "::error::The FASTLANE_KEY secret is set but invalid. Verify that you copied it correctly from the API Key file (*.p8) you downloaded and try again." + elif ! fastlane validate_secrets 2>&1 | tee fastlane.log; then + if grep -q "bad decrypt" fastlane.log; then + failed=true + echo "::error::Unable to decrypt the Match-Secrets repository using the MATCH_PASSWORD secret. Verify that it is set correctly and try again." + elif ! grep -q "No code signing identity found" fastlane.log; then + failed=true + echo "::error::Unable to create a valid authorization token for the App Store Connect API.\ + Verify that the FASTLANE_ISSUER_ID, FASTLANE_KEY_ID, and FASTLANE_KEY secrets are set correctly and try again." + fi fi # Exit unsuccessfully if secret validation failed. if [ $failed ]; then exit 2 fi - shell: bash - env: - TEAMID: ${{ secrets.TEAMID }} - GH_PAT: ${{ secrets.GH_PAT }} - FASTLANE_ISSUER_ID: ${{ secrets.FASTLANE_ISSUER_ID }} - FASTLANE_KEY_ID: ${{ secrets.FASTLANE_KEY_ID }} - FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} - MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} - GH_TOKEN: ${{ secrets.GH_PAT }} diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 6b83bcaee..f918b3aa4 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -249,6 +249,13 @@ platform :ios do end find_bundle_id("com.#{TEAMID}.loopkit.Loop") + + match( + type: "appstore", + git_basic_authorization: Base64.strict_encode64("#{GITHUB_REPOSITORY_OWNER}:#{GH_PAT}"), + app_identifier: [], + ) + end desc "Nuke Certs" From fdf30c6dc0331669cbd9ea76bf067daaf92fc4fc Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 23 Aug 2023 11:20:59 -0500 Subject: [PATCH 081/131] Bump submodule refs --- LibreTransmitter | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LibreTransmitter b/LibreTransmitter index cb085301d..4616e69d9 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit cb085301d38a922dfc2b8fb4c8179a14e391bf33 +Subproject commit 4616e69d9891e876886d7f5557b921a76d042cf5 diff --git a/LoopKit b/LoopKit index 0153a4736..a5ab8d8a2 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 0153a4736c7a3895e9722ea5474f32ffec1e618b +Subproject commit a5ab8d8a213267ffc8fdf80b3f940fd4bed72d6f From 2b411681aec7a3657153df51ff2151a63ee3160a Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 23 Aug 2023 12:26:08 -0500 Subject: [PATCH 082/131] More carb entry fixes --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index dc5316cd5..7e232b0cf 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit dc5316cd505f201630b2bfcdb9a98c2967706ff4 +Subproject commit 7e232b0cf23924fd974c14f50e9327e01f1898b2 From 1ea28d7006691073511056e1dfca71f1ac5f75b5 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 23 Aug 2023 12:32:48 -0500 Subject: [PATCH 083/131] Omnipod debug logging updates --- OmniBLE | 2 +- OmniKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OmniBLE b/OmniBLE index bd3cfdc47..d9a3becde 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit bd3cfdc4799a659c81e10fba49701ba2e32e8883 +Subproject commit d9a3becde2179128054ff5333296a9e1d7d50e20 diff --git a/OmniKit b/OmniKit index f93cff679..b7169b790 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit f93cff6796cb4348d60baa1c10a50c5f4a5b0472 +Subproject commit b7169b79006a607426a83a8ec3754e488382680c From a3f15e5d0f18fb6b08529cdad7a4581dc1736bcb Mon Sep 17 00:00:00 2001 From: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com> Date: Wed, 23 Aug 2023 20:40:24 +0200 Subject: [PATCH 084/131] Fixes for automated builds (#83) * Fix broken upstream sync; Remove orphaned environment variable * Fix condition for automated alive branch creation --- .github/workflows/build_loop.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index fdc86f4e0..cf246e117 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -15,7 +15,6 @@ env: 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, and target branch on upstream to be kept alive (replace with specific branch name if needed) ALIVE_BRANCH: alive - WORKFLOW_PERMISSIONS: false jobs: validate: @@ -65,7 +64,7 @@ jobs: fi - name: Create alive branch - if: env.ALIVE_BRANCH_EXISTS != 'true' + if: env.ALIVE_BRANCH_EXISTS == 'false' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | @@ -87,7 +86,7 @@ jobs: # Checks for changes in upstream repository; if changes exist prompts sync for build # Performs keepalive to avoid stale fork check_latest_from_upstream: - needs: check_alive_and_permissions + needs: [validate, check_alive_and_permissions] runs-on: ubuntu-latest name: Check upstream and keep alive outputs: @@ -156,7 +155,7 @@ jobs: # Builds Loop build: name: Build - needs: check_latest_from_upstream + needs: [validate, check_alive_and_permissions, check_latest_from_upstream] runs-on: macos-13 permissions: contents: write From 07a5691079fd8e0170e6943f2f15177cf3784231 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 25 Aug 2023 13:39:55 -0500 Subject: [PATCH 085/131] Disable meal detection when calibrations are present, and localization fix --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index 7e232b0cf..3367e606a 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 7e232b0cf23924fd974c14f50e9327e01f1898b2 +Subproject commit 3367e606ac22a39f1d7d92a24c6a2e7f2c53f219 diff --git a/LoopKit b/LoopKit index a5ab8d8a2..a059d206d 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit a5ab8d8a213267ffc8fdf80b3f940fd4bed72d6f +Subproject commit a059d206d0734ad7723bf84762f6dcbc6c8e34df From e27500bf7e9e49891edfdfc41b61080f044bf9b7 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 30 Aug 2023 13:01:44 -0500 Subject: [PATCH 086/131] Bring in fixes for negative duration dose prevention --- LoopKit | 2 +- MinimedKit | 2 +- OmniBLE | 2 +- OmniKit | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/LoopKit b/LoopKit index a059d206d..8e58b7ef5 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit a059d206d0734ad7723bf84762f6dcbc6c8e34df +Subproject commit 8e58b7ef52bb87af87c82995f0f7a6cf794d2228 diff --git a/MinimedKit b/MinimedKit index 4fc46132e..f9cc1eca1 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit 4fc46132e623b89aa238eba31d75e6b8998ea1dd +Subproject commit f9cc1eca1e6f89190ca2679cd0630b6767f18be4 diff --git a/OmniBLE b/OmniBLE index d9a3becde..a76490135 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit d9a3becde2179128054ff5333296a9e1d7d50e20 +Subproject commit a7649013573847e1d108340ee6ec99f7ecacef98 diff --git a/OmniKit b/OmniKit index b7169b790..b0de08e3a 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit b7169b79006a607426a83a8ec3754e488382680c +Subproject commit b0de08e3a5916daf8a01936908d755f2497bb061 From 0f054a84ce7501787f52954b2143e4746ab627e3 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 6 Sep 2023 15:22:28 -0500 Subject: [PATCH 087/131] Bring in functional algo support --- Loop | 2 +- LoopKit | 2 +- .../xcshareddata/swiftpm/Package.resolved | 2 +- .../xcschemes/LoopWorkspace.xcscheme | 20 ------------------- 4 files changed, 3 insertions(+), 23 deletions(-) diff --git a/Loop b/Loop index 3367e606a..3f6d57d66 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3367e606ac22a39f1d7d92a24c6a2e7f2c53f219 +Subproject commit 3f6d57d6687dc1fc3979491df107ad454cb4fbd2 diff --git a/LoopKit b/LoopKit index 8e58b7ef5..9d43c3870 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 8e58b7ef52bb87af87c82995f0f7a6cf794d2228 +Subproject commit 9d43c3870e991864123617d564af658b973f2e7e diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 8caef92b9..9ea58a97b 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -86,7 +86,7 @@ "location" : "https://github.com/tidepool-org/TidepoolKit", "state" : { "branch" : "dev", - "revision" : "a0bcbb037789fcd186e151c7eaf36aa1b9632915" + "revision" : "54045c2e7d720dcd8a0909037772dcd6f54f0158" } }, { diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 627ce0f17..9539d9758 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -449,16 +449,6 @@ ReferencedContainer = "container:CGMBLEKit/CGMBLEKit.xcodeproj"> - - - - - - - - Date: Fri, 8 Sep 2023 13:23:44 -0500 Subject: [PATCH 088/131] Bring in changes for app expiration warning for testflight builds --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 3f6d57d66..2360edb50 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3f6d57d6687dc1fc3979491df107ad454cb4fbd2 +Subproject commit 2360edb508ff95b910184326cbeb7ff43f91e0fc From d65d6fe74fc452f74586c8b698c31cf9206b92d8 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 8 Sep 2023 16:02:49 -0500 Subject: [PATCH 089/131] Tidepool sync --- G7SensorKit | 2 +- LibreTransmitter | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- MinimedKit | 2 +- NightscoutService | 2 +- OmniBLE | 2 +- OmniKit | 2 +- Scripts/sync.swift | 7 ++++--- Scripts/update_submodule_refs.sh | 1 + TidepoolService | 2 +- 12 files changed, 15 insertions(+), 13 deletions(-) diff --git a/G7SensorKit b/G7SensorKit index 87946c727..aa1b7db34 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 87946c727a61f0434c2c0da0e807b1671aafdd72 +Subproject commit aa1b7db34efd42b1cb1b7fde8558f3f5def20ff1 diff --git a/LibreTransmitter b/LibreTransmitter index 4616e69d9..9ba5dc606 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 4616e69d9891e876886d7f5557b921a76d042cf5 +Subproject commit 9ba5dc606f0989c01970c925cd01b009edff6651 diff --git a/Loop b/Loop index 2360edb50..6226289f4 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 2360edb508ff95b910184326cbeb7ff43f91e0fc +Subproject commit 6226289f4e102d8a4664f9a621ecdf83d5b4c45d diff --git a/LoopKit b/LoopKit index 9d43c3870..e28c6a06b 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 9d43c3870e991864123617d564af658b973f2e7e +Subproject commit e28c6a06b90790b9e4faa6c701639575d0bfc575 diff --git a/LoopOnboarding b/LoopOnboarding index c548ad9ed..150edeb89 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit c548ad9ed39f91f1473de6babce103aa893bc389 +Subproject commit 150edeb898cd5a0088427da3ce54342fd0494593 diff --git a/MinimedKit b/MinimedKit index f9cc1eca1..f1ac5712a 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit f9cc1eca1e6f89190ca2679cd0630b6767f18be4 +Subproject commit f1ac5712a4b5d23ae4cf7273a6b8cef3acf1a290 diff --git a/NightscoutService b/NightscoutService index 2b7e4f855..10e757c58 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 2b7e4f855c3169bf05c6c6b9293f0127bc1b6de6 +Subproject commit 10e757c58184ac824ee5f6a58096ebe98553aa40 diff --git a/OmniBLE b/OmniBLE index a76490135..2822d18e7 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit a7649013573847e1d108340ee6ec99f7ecacef98 +Subproject commit 2822d18e783c2bd6dcd45b87d5aebb97b7621d51 diff --git a/OmniKit b/OmniKit index b0de08e3a..a5aec1c12 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit b0de08e3a5916daf8a01936908d755f2497bb061 +Subproject commit a5aec1c12dfdee8a25d914c1e4fea8ccc5968fd4 diff --git a/Scripts/sync.swift b/Scripts/sync.swift index b4ecd1837..5754c974a 100755 --- a/Scripts/sync.swift +++ b/Scripts/sync.swift @@ -8,7 +8,7 @@ import Cocoa import AsyncSwiftGit // @bdewey import OctoKit // nerdishbynature/octokit.swift == main -let createPRs = false +let createPRs = true guard CommandLine.arguments.count == 3 else { print("usage: sync.swift ") @@ -106,7 +106,7 @@ for project in projects { // Create and checkout the branch where sync changesets will go ("tidepool-sync") if !(try repository.branchExists(named: syncBranch)) { - try repository.createBranch(named: syncBranch, target: project.branch) + try repository.createBranch(named: syncBranch, target: "origin/\(project.branch)") } try await repository.checkout(revspec: syncBranch) @@ -120,7 +120,8 @@ for project in projects { print("No incoming changes; skipping PR creation.") try await repository.checkout(revspec: project.branch) continue - } + } + print("Found diffs: \(diff)") // Push changes up to origin let refspec = "refs/heads/" + syncBranch + ":refs/heads/" + syncBranch diff --git a/Scripts/update_submodule_refs.sh b/Scripts/update_submodule_refs.sh index a91aaac24..63b82403e 100755 --- a/Scripts/update_submodule_refs.sh +++ b/Scripts/update_submodule_refs.sh @@ -8,6 +8,7 @@ for project in ${projects}; do echo "Updating to $branch on $user/$project" cd $dir git checkout $branch + #git branch -D tidepool-sync git pull cd - done diff --git a/TidepoolService b/TidepoolService index 6c746b0aa..3ee7d9423 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 6c746b0aa11c788c9c27362a1e95bfc631d328a2 +Subproject commit 3ee7d9423126b56da1c7371293040ed6b98d2d6a From 04b201bc4a5c4dccdbfe4856c0ca12c865cc13dd Mon Sep 17 00:00:00 2001 From: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com> Date: Sat, 9 Sep 2023 19:41:26 +0200 Subject: [PATCH 090/131] Fix cron schedule for automated sync and build (#87) * Fix cron schedule for sync and build * Update cron tab descriptions in testflight.md * Fix typo in comment --- .github/workflows/build_loop.yml | 4 ++-- fastlane/testflight.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index cf246e117..888bed60a 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -8,7 +8,7 @@ on: schedule: - cron: '0 8 * * 3' # Checks for updates at 08:00 UTC every Wednesday - - cron: '0 8 1 * 6' # Builds the app on the 1st Saturday every month at 08:00 UTC + - cron: '0 6 1 * *' # Builds the app on the 1st of every month at 06:00 UTC env: UPSTREAM_REPO: LoopKit/LoopWorkspace @@ -162,7 +162,7 @@ jobs: if: | # runs if started manually, or if sync schedule is set and enabled and scheduled on the first Saturday each month, or if sync schedule is set and enabled and new commits were found github.event_name == 'workflow_dispatch' || (needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && - (vars.SCHEDULED_BUILD != 'false' && github.event.schedule == '0 8 1 * 6') || + (vars.SCHEDULED_BUILD != 'false' && github.event.schedule == '0 6 1 * *') || (vars.SCHEDULED_SYNC != 'false' && needs.check_latest_from_upstream.outputs.NEW_COMMITS == 'true' ) ) steps: diff --git a/fastlane/testflight.md b/fastlane/testflight.md index 46f1444b7..b46bffc42 100644 --- a/fastlane/testflight.md +++ b/fastlane/testflight.md @@ -11,7 +11,7 @@ These instructions allow you to build Loop without having access to a Mac. > > This new version of 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 Saturday of the month +> - 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 > > 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). @@ -262,8 +262,8 @@ 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 Saturday of the month at 08:00 UTC, if there are changes, it will update your repository; regardless of changes, it will 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 Saturday of the month, no update will happen; keep-alive will run +- 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 From 32fa74adc0760344d883d4b1ebad05216c5d9828 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 9 Sep 2023 13:54:09 -0500 Subject: [PATCH 091/131] Adding missing hindi translations for app intents --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 6226289f4..406ae09ce 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 6226289f4e102d8a4664f9a621ecdf83d5b4c45d +Subproject commit 406ae09ce618752c16c1d62d773b8b525e4c6524 From 59d7e50b0c8f3036b91c4807cdad98218eb73c22 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 9 Sep 2023 19:17:15 -0500 Subject: [PATCH 092/131] Update build destinations --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 406ae09ce..232b21d07 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 406ae09ce618752c16c1d62d773b8b525e4c6524 +Subproject commit 232b21d071d7663c9f7946d2e101b372fefe7e12 From a9e4404968604313722937afa4875814632dedb1 Mon Sep 17 00:00:00 2001 From: Billy Booth Date: Mon, 11 Sep 2023 09:57:51 -0500 Subject: [PATCH 093/131] GH Actions: Improve secrets validation (#86) * validate_secrets.yml: Pass a "Could not install WWDR certificate" error through validation * validate_secrets.yml: Improve annotation when a public Match-Secrets repo exists * validate_secrets.yml: Rewrite Match-Secrets validation to be explicit about the Match-Secrets repository that will be used When the GH account that the GH_PAT token was created under does not match the repository_owner of the LoopWorkspace repository, the validation routine used a different Match-Secrets repository than fastlane. * validate_secrets.yml: Rewrite GH_PAT validation to capture scopes and distinguish between classic and fine-grained access tokens * validate_secrets.yml: Fix syntax error in Match-Secrets validation job * validate_secrets.yml: Depend less on patterns / read scopes from any token that provides them * Provide HAS_WORKFLOW_PERMISSION as an output * validate_secrets.yml: Annotate failures from unaccepted Apple PLAs * validate_secrets.yml: Fix typo and improve annotation when GH_PAT is invalid * validate_secrets.yml: Improve annotation when authorization fails and token format is unknown * validate_secrets.yml: Minor wording tweak --- .github/workflows/validate_secrets.yml | 88 +++++++++++++++++++++----- 1 file changed, 71 insertions(+), 17 deletions(-) diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index 2b0371301..835217fb5 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -9,17 +9,61 @@ jobs: env: GH_PAT: ${{ secrets.GH_PAT }} GH_TOKEN: ${{ secrets.GH_PAT }} + outputs: + HAS_WORKFLOW_PERMISSION: ${{ steps.access-token.outputs.has_workflow_permission }} steps: - name: Validate Access Token + id: access-token run: | - # Validate Fastlane Access Token (GH_PAT) + # Validate Access Token + + # Ensure that gh exit codes are handled when output is piped. + set -o pipefail + + # Define patterns to validate the access token (GH_PAT) and distinguish between classic and fine-grained tokens. + GH_PAT_CLASSIC_PATTERN='^ghp_[a-zA-Z0-9]{36}$' + GH_PAT_FINE_GRAINED_PATTERN='^github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59}$' + + # Validate Access Token (GH_PAT) if [ -z "$GH_PAT" ]; then failed=true echo "::error::The GH_PAT secret is unset or empty. Set it and try again." - elif [ "$(gh api -H "Accept: application/vnd.github+json" /repos/${{ github.repository_owner }}/LoopWorkspace | jq --raw-output '.permissions.push')" != "true" ]; then - failed=true - echo "::error::The GH_PAT secret is set but invalid or lacking at least 'repo' permission scope ('repo, workflow' is okay too).\ - Verify that token permissions are set correctly (or update them) at https://github.com/settings/tokens and try again." + else + if [[ $GH_PAT =~ $GH_PAT_CLASSIC_PATTERN ]]; then + provides_scopes=true + echo "The GH_PAT secret is a structurally valid classic token." + elif [[ $GH_PAT =~ $GH_PAT_FINE_GRAINED_PATTERN ]]; then + echo "The GH_PAT secret is a structurally valid fine-grained token." + else + unknown_format=true + echo "The GH_PAT secret does not have a known token format." + fi + + # Attempt to capture the x-oauth-scopes scopes of the token. + if ! scopes=$(curl -sS -f -I -H "Authorization: token $GH_PAT" https://api.github.com | { grep -i '^x-oauth-scopes:' || true; } | cut -d ' ' -f2- | tr -d '\r'); then + failed=true + if [ $unknown_format ]; then + echo "::error::Unable to connect to GitHub using the GH_PAT secret. Verify that it is set correctly (including the 'ghp_' or 'github_pat_' prefix) and try again." + else + echo "::error::Unable to connect to GitHub using the GH_PAT secret. Verify that the token exists and has not expired at https://github.com/settings/tokens. If necessary, regenerate or create a new token (and update the secret), then try again." + fi + elif [[ $scopes =~ workflow ]]; then + echo "The GH_PAT secret has repo and workflow permissions." + echo "has_workflow_permission=true" >> $GITHUB_OUTPUT + elif [[ $scopes =~ repo ]]; then + echo "The GH_PAT secret has repo (but not workflow) permissions." + elif [ $provides_scopes ]; then + failed=true + if [ -z "$scopes" ]; then + echo "The GH_PAT secret is valid and can be used to connect to GitHub, but it does not provide any permission scopes." + else + echo "The GH_PAT secret is valid and can be used to connect to GitHub, but it only provides the following permission scopes: $scopes" + fi + echo "::error::The GH_PAT secret is lacking at least the 'repo' permission scope required to access the Match-Secrets repository. Update the token permissions at https://github.com/settings/tokens (to include the 'repo' and 'workflow' scopes) and try again." + else + echo "The GH_PAT secret is valid and can be used to connect to GitHub, but it does not provide inspectable scopes. Assuming that the 'repo' and 'workflow' permission scopes required to access the Match-Secrets repository and perform automations are present." + echo "has_workflow_permission=true" >> $GITHUB_OUTPUT + fi fi # Exit unsuccessfully if secret validation failed. @@ -37,19 +81,27 @@ jobs: - name: Validate Match-Secrets run: | # Validate Match-Secrets - if [ "$(gh repo list --json name | jq --raw-output 'any(.name=="Match-Secrets")')" != "true" ]; then - echo "A 'Match-Secrets' repository could not be found. Attempting to create one..."; + + # Ensure that gh exit codes are handled when output is piped. + set -o pipefail + + # If a Match-Secrets repository does not exist, attempt to create one. + if ! visibility=$(gh repo view ${{ github.repository_owner }}/Match-Secrets --json visibility | jq --raw-output '.visibility | ascii_downcase'); then + echo "A '${{ github.repository_owner }}/Match-Secrets' repository could not be found using the GH_PAT secret. Attempting to create one..." - if gh repo create Match-Secrets --private >/dev/null && [ "$(gh repo list --json name,visibility | jq --raw-output '.[] | select(.name=="Match-Secrets") | .visibility == "PRIVATE"')" == "true" ]; then - echo "Created a private 'Match-Secrets' repository." + # Create a private Match-Secrets repository and verify that it exists and that it is private. + if gh repo create ${{ github.repository_owner }}/Match-Secrets --private >/dev/null && [ "$(gh repo view ${{ github.repository_owner }}/Match-Secrets --json visibility | jq --raw-output '.visibility | ascii_downcase')" == "private" ]; then + echo "Created a private '${{ github.repository_owner }}/Match-Secrets' repository." else failed=true - echo "::error::Cannot access or create a private 'Match-Secrets' repository. The GH_PAT secret is lacking at least the 'repo' permission scope required to access or create the repository.\ - Verify that token permissions are set correctly (or update them) at https://github.com/settings/tokens and try again." + echo "::error::Unable to create a private '${{ github.repository_owner }}/Match-Secrets' repository. Create a private 'Match-Secrets' repository manually and try again. If a private 'Match-Secrets' repository already exists, verify that the token permissions of the GH_PAT are set correctly (or update them) at https://github.com/settings/tokens and try again." fi - elif [ "$(gh repo list --json name,visibility | jq --raw-output '.[] | select(.name=="Match-Secrets") | .visibility == "PUBLIC"')" == "true" ]; then + # Otherwise, if a Match-Secrets repository exists, but it is public, cause validation to fail. + elif [[ "$visibility" == "public" ]]; then failed=true - echo "::error::A 'Match-Secrets' repository was found, but it is is public. Delete it and try again (a private repository will be created for you)." + echo "::error::A '${{ github.repository_owner }}/Match-Secrets' repository was found, but it is public. Change the repository visibility to private (or delete it) and try again. If necessary, a private repository will be created for you." + else + echo "Found a private '${{ github.repository_owner }}/Match-Secrets' repository to use." fi # Exit unsuccessfully if secret validation failed. @@ -59,7 +111,7 @@ jobs: validate-fastlane-secrets: name: Fastlane - needs: validate-match-secrets + needs: [validate-access-token, validate-match-secrets] runs-on: macos-13 env: GH_PAT: ${{ secrets.GH_PAT }} @@ -123,10 +175,12 @@ jobs: if grep -q "bad decrypt" fastlane.log; then failed=true echo "::error::Unable to decrypt the Match-Secrets repository using the MATCH_PASSWORD secret. Verify that it is set correctly and try again." - elif ! grep -q "No code signing identity found" fastlane.log; then + elif grep -q -e "required agreement" -e "license agreement" fastlane.log; then + failed=true + echo "::error::Unable to create a valid authorization token for the App Store Connect API. Verify that the latest developer program license agreement has been accepted at https://developer.apple.com/account (review and accept any updated agreement), then wait a few minutes for changes to propagate and try again." + elif ! grep -q -e "No code signing identity found" -e "Could not install WWDR certificate" fastlane.log; then failed=true - echo "::error::Unable to create a valid authorization token for the App Store Connect API.\ - Verify that the FASTLANE_ISSUER_ID, FASTLANE_KEY_ID, and FASTLANE_KEY secrets are set correctly and try again." + echo "::error::Unable to create a valid authorization token for the App Store Connect API. Verify that the FASTLANE_ISSUER_ID, FASTLANE_KEY_ID, and FASTLANE_KEY secrets are set correctly and try again." fi fi From 9bbd6f22490ff294de5c955fe5419fd6f4f4f20a Mon Sep 17 00:00:00 2001 From: bjornoleh <63544115+bjornoleh@users.noreply.github.com> Date: Wed, 20 Sep 2023 18:20:18 +0200 Subject: [PATCH 094/131] Update Fastlane to 2.215.0 (#88) * Update Gemfile.lock for Fastlane to 2.215.0 Among other improvements, this should fix the WWDR issue. * build_loop.yml: Install bundle, bundle exec - bundle install - bundle exec fastlane build_loop - bundle exec fastlane release * Update Gemfile.lock Commands used to install bundler and update dependencies: sudo gem pristine ffi sudo gem install bundler sudo bundle install sudo bundle update fastlane * Don't install bundler, which comes with Ruby 2.7+ * Install dependencies and use bundler to exec fastlane across workflows --------- Co-authored-by: Billy Booth --- .github/workflows/add_identifiers.yml | 10 +- .github/workflows/build_loop.yml | 8 +- .github/workflows/create_certs.yml | 10 +- .github/workflows/validate_secrets.yml | 7 +- Gemfile.lock | 138 +++++++++++++------------ 5 files changed, 96 insertions(+), 77 deletions(-) diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index 868ca857d..c57e72960 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -21,14 +21,18 @@ jobs: # Checks-out the repo - name: Checkout Repo uses: actions/checkout@v3 - + # Patch Fastlane Match to not print tables - name: Patch Match Tables run: find /usr/local/lib/ruby/gems -name table_printer.rb | xargs sed -i "" "/puts(Terminal::Table.new(params))/d" - + + # Install project dependencies + - name: Install Project Dependencies + run: bundle install + # Create or update identifiers for app - name: Fastlane Provision - run: fastlane identifiers + run: bundle exec fastlane identifiers env: TEAMID: ${{ secrets.TEAMID }} GH_PAT: ${{ secrets.GH_PAT }} diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 888bed60a..cec2aaade 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -251,9 +251,13 @@ jobs: - name: Patch Match Tables run: find /usr/local/lib/ruby/gems -name table_printer.rb | xargs sed -i "" "/puts(Terminal::Table.new(params))/d" + # Install project dependencies + - name: Install project dependencies + run: bundle install + # Build signed Loop IPA file - name: Fastlane Build & Archive - run: fastlane build_loop + run: bundle exec fastlane build_loop env: TEAMID: ${{ secrets.TEAMID }} GH_PAT: ${{ secrets.GH_PAT }} @@ -264,7 +268,7 @@ jobs: # Upload to TestFlight - name: Fastlane upload to TestFlight - run: fastlane release + run: bundle exec fastlane release env: TEAMID: ${{ secrets.TEAMID }} GH_PAT: ${{ secrets.GH_PAT }} diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index a5e076ffa..faa62b32c 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -21,14 +21,18 @@ jobs: # Checks-out the repo - name: Checkout Repo uses: actions/checkout@v3 - + # Patch Fastlane Match to not print tables - name: Patch Match Tables run: find /usr/local/lib/ruby/gems -name table_printer.rb | xargs sed -i "" "/puts(Terminal::Table.new(params))/d" - + + # Install project dependencies + - name: Install Project Dependencies + run: bundle install + # Create or update certificates for app - name: Create Certificates - run: fastlane certs + run: bundle exec fastlane certs env: TEAMID: ${{ secrets.TEAMID }} GH_PAT: ${{ secrets.GH_PAT }} diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index 835217fb5..6f3f4c746 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -124,7 +124,10 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v3 - + + - name: Install Project Dependencies + run: bundle install + - name: Validate Fastlane Secrets run: | # Validate Fastlane Secrets @@ -171,7 +174,7 @@ jobs: elif ! echo "$FASTLANE_KEY" | openssl pkcs8 -nocrypt >/dev/null; then failed=true echo "::error::The FASTLANE_KEY secret is set but invalid. Verify that you copied it correctly from the API Key file (*.p8) you downloaded and try again." - elif ! fastlane validate_secrets 2>&1 | tee fastlane.log; then + elif ! bundle exec fastlane validate_secrets 2>&1 | tee fastlane.log; then if grep -q "bad decrypt" fastlane.log; then failed=true echo "::error::Unable to decrypt the Match-Secrets repository using the MATCH_PASSWORD secret. Verify that it is set correctly and try again." diff --git a/Gemfile.lock b/Gemfile.lock index ece7a3ae2..b10a322c5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,52 +1,53 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.4) + CFPropertyList (3.0.6) rexml - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.5) + public_suffix (>= 2.0.2, < 6.0) artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.2.0) - aws-partitions (1.516.0) - aws-sdk-core (3.121.2) + aws-partitions (1.824.0) + aws-sdk-core (3.181.1) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.71.0) + aws-sdk-core (~> 3, >= 3.177.0) aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.50.0) - aws-sdk-core (~> 3, >= 3.121.2) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.104.0) - aws-sdk-core (~> 3, >= 3.121.2) + aws-sdk-s3 (1.134.0) + aws-sdk-core (~> 3, >= 3.181.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.4) - aws-sigv4 (1.4.0) + aws-sigv4 (~> 1.6) + aws-sigv4 (1.6.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) - claide (1.0.3) + claide (1.1.0) colored (1.2) colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) declarative (0.0.20) - digest-crc (0.6.4) + digest-crc (0.6.5) rake (>= 12.0.0, < 14.0.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.6) + dotenv (2.8.1) emoji_regex (3.2.3) - excon (0.87.0) - faraday (1.8.0) + excon (0.103.0) + faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) + faraday-net_http_persistent (~> 1.0) faraday-patron (~> 1.0) faraday-rack (~> 1.0) - multipart-post (>= 1.2, < 3) + faraday-retry (~> 1.0) ruby2_keywords (>= 0.0.4) faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) @@ -55,14 +56,17 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) faraday-net_http (1.0.1) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) faraday-rack (1.0.0) + faraday-retry (1.0.3) faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.5) - fastlane (2.196.0) + fastimage (2.2.7) + fastlane (2.215.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -83,10 +87,11 @@ GEM google-apis-playcustomapp_v1 (~> 0.1) google-cloud-storage (~> 1.31) highline (~> 2.0) + http-cookie (~> 1.0.5) json (< 3.0.0) jwt (>= 2.1.0, < 3) mini_magick (>= 4.9.4, < 5.0.0) - multipart-post (~> 2.0.0) + multipart-post (>= 2.0.0, < 3.0.0) naturally (~> 2.2) optparse (~> 0.1.1) plist (>= 3.1.0, < 4.0.0) @@ -94,7 +99,7 @@ GEM security (= 0.1.3) simctl (~> 1.6.3) terminal-notifier (>= 2.0.0, < 3.0.0) - terminal-table (>= 1.4.5, < 2.0.0) + terminal-table (~> 3) tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) @@ -102,9 +107,9 @@ GEM xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.12.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-core (0.4.1) + google-apis-androidpublisher_v3 (0.49.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.1) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -113,74 +118,72 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-iamcredentials_v1 (0.7.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-playcustomapp_v1 (0.5.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-storage_v1 (0.8.0) - google-apis-core (>= 0.4, < 2.a) + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.19.0) + google-apis-core (>= 0.9.0, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) - google-cloud-env (1.5.0) - faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.2.0) - google-cloud-storage (1.34.1) - addressable (~> 2.5) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.1) + google-cloud-storage (1.44.0) + addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.19.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.0.0) - faraday (>= 0.17.3, < 2.0) + googleauth (1.8.0) + faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) - memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.4) + http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) jmespath (1.6.2) - json (2.6.0) - jwt (2.3.0) - memoist (0.16.2) - mini_magick (4.11.0) - mini_mime (1.1.2) + json (2.6.3) + jwt (2.7.1) + mini_magick (4.12.0) + mini_mime (1.1.5) multi_json (1.15.0) - multipart-post (2.0.0) + multipart-post (2.3.0) nanaimo (0.3.0) naturally (2.2.1) optparse (0.1.1) - os (1.1.1) - plist (3.6.0) - public_suffix (4.0.6) + os (1.1.4) + plist (3.7.0) + public_suffix (5.0.3) rake (13.0.6) - representable (3.1.1) + representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.2.5) + rexml (3.2.6) rouge (2.0.7) ruby2_keywords (0.0.5) rubyzip (2.3.2) security (0.1.3) - signet (0.16.0) + signet (0.18.0) addressable (~> 2.8) - faraday (>= 0.17.3, < 2.0) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simctl (1.6.8) + simctl (1.6.10) CFPropertyList naturally terminal-notifier (2.0.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - trailblazer-option (0.1.1) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) tty-cursor (0.7.1) tty-screen (0.8.1) tty-spinner (0.9.3) @@ -188,11 +191,11 @@ GEM uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.8) - unicode-display_width (1.8.0) - webrick (1.7.0) + unf_ext (0.0.8.2) + unicode-display_width (2.4.2) + webrick (1.8.1) word_wrap (1.0.0) - xcodeproj (1.21.0) + xcodeproj (1.22.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -206,10 +209,11 @@ GEM PLATFORMS arm64-darwin-21 + arm64-darwin-22 x86_64-darwin-19 DEPENDENCIES fastlane BUNDLED WITH - 2.3.26 + 2.4.19 From ea23351f999f0c4916984a16eba5617df4169ef2 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 22 Sep 2023 08:17:48 -0500 Subject: [PATCH 095/131] Bring in CGM Event Store --- CGMBLEKit | 2 +- G7SensorKit | 2 +- Loop | 2 +- LoopKit | 2 +- .../contents.xcworkspacedata | 16 ---------------- .../xcshareddata/swiftpm/Package.resolved | 2 +- NightscoutService | 2 +- RileyLinkKit | 2 +- TidepoolService | 2 +- 9 files changed, 8 insertions(+), 24 deletions(-) diff --git a/CGMBLEKit b/CGMBLEKit index 604e54244..8ca3e9bb8 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 604e5424447df64ae86bdccef05338f662fe3d5d +Subproject commit 8ca3e9bb8a7a2cdecd27d703b30483546f9d7df1 diff --git a/G7SensorKit b/G7SensorKit index aa1b7db34..8aaf76804 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit aa1b7db34efd42b1cb1b7fde8558f3f5def20ff1 +Subproject commit 8aaf76804d74b6b05f71f4286fbee97842d7ef39 diff --git a/Loop b/Loop index 232b21d07..bea91f06d 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 232b21d071d7663c9f7946d2e101b372fefe7e12 +Subproject commit bea91f06dbf6736e160f31329fb003d063337da8 diff --git a/LoopKit b/LoopKit index e28c6a06b..31bdbd2cc 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit e28c6a06b90790b9e4faa6c701639575d0bfc575 +Subproject commit 31bdbd2cc44f07bfd63a394623eb52f5eb961e72 diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata index 3d841b9d8..b1d1574f0 100644 --- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata +++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata @@ -4,22 +4,6 @@ - - - - - - - - - - diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 9ea58a97b..8f0e09f2b 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -60,7 +60,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "4b61e4e280a3e26784b7697f64d9c51cdf152e2d" + "revision" : "ca8e2cea82ab465282cd180ce01d64c1cf25478d" } }, { diff --git a/NightscoutService b/NightscoutService index 10e757c58..a18dde325 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 10e757c58184ac824ee5f6a58096ebe98553aa40 +Subproject commit a18dde325fc66bd923dc82c13c6de96afd867ce6 diff --git a/RileyLinkKit b/RileyLinkKit index aa920236a..9dbf381ac 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit aa920236a2f4d6b01dd85426dc515877879b2000 +Subproject commit 9dbf381ace7d563daf93a6f378151ce350d4f031 diff --git a/TidepoolService b/TidepoolService index 3ee7d9423..fd1c1c028 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 3ee7d9423126b56da1c7371293040ed6b98d2d6a +Subproject commit fd1c1c028d92732815bc722718a18c803e32a376 From b7d3f0e2e9b814640fbd9319068ce2ba60c0dd91 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 22 Sep 2023 08:48:19 -0500 Subject: [PATCH 096/131] Add Mixpanel service to sync --- Scripts/sync.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Scripts/sync.swift b/Scripts/sync.swift index 5754c974a..2553551e0 100755 --- a/Scripts/sync.swift +++ b/Scripts/sync.swift @@ -64,6 +64,7 @@ let projects = [ Project("LoopOnboarding", "dev"), Project("AmplitudeService", "dev"), Project("LogglyService", "dev"), + Project("MixpanelService", "main"), Project("OmniBLE", "dev"), Project("NightscoutRemoteCGM", "dev"), Project("LoopSupport", "dev"), From 75a4812f79184daa99ea92d832a3d6af8c66aa39 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 22 Sep 2023 15:28:21 -0500 Subject: [PATCH 097/131] Bring in Tidepool sync --- AmplitudeService | 2 +- CGMBLEKit | 2 +- G7SensorKit | 2 +- LibreTransmitter | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- MinimedKit | 2 +- MixpanelService | 2 +- NightscoutRemoteCGM | 2 +- NightscoutService | 2 +- OmniBLE | 2 +- OmniKit | 2 +- Scripts/update_submodule_refs.sh | 2 +- TidepoolService | 2 +- dexcom-share-client-swift | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index 119902fcb..2ec52cee9 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit 119902fcb91859d4317c54ec7571e6af36eb9e76 +Subproject commit 2ec52cee95464ef26cb88f8e99719e801c49a2ae diff --git a/CGMBLEKit b/CGMBLEKit index 8ca3e9bb8..995e86170 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 8ca3e9bb8a7a2cdecd27d703b30483546f9d7df1 +Subproject commit 995e8617064fa5f76a9433391c2e3c305dd736ce diff --git a/G7SensorKit b/G7SensorKit index 8aaf76804..83d8aafd7 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 8aaf76804d74b6b05f71f4286fbee97842d7ef39 +Subproject commit 83d8aafd7fc7630e51d7292bbb287d865aba72c7 diff --git a/LibreTransmitter b/LibreTransmitter index 9ba5dc606..165f45229 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 9ba5dc606f0989c01970c925cd01b009edff6651 +Subproject commit 165f45229d65ee8230c33151a774f2acd1308243 diff --git a/LogglyService b/LogglyService index 6f94a8e6d..1bb822374 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit 6f94a8e6d74688b14496aeb9200882a43da15fcc +Subproject commit 1bb8223748003e51770875200489cce83f74c570 diff --git a/Loop b/Loop index bea91f06d..eb211c18f 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit bea91f06dbf6736e160f31329fb003d063337da8 +Subproject commit eb211c18f6c3a9c2e5872cfca06625d11aa45d51 diff --git a/LoopKit b/LoopKit index 31bdbd2cc..23e699667 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 31bdbd2cc44f07bfd63a394623eb52f5eb961e72 +Subproject commit 23e6996678b094390751ab4bf7f45140260702b8 diff --git a/LoopOnboarding b/LoopOnboarding index 150edeb89..d5ede30d4 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 150edeb898cd5a0088427da3ce54342fd0494593 +Subproject commit d5ede30d47d81426854d28747b60194dc0080743 diff --git a/LoopSupport b/LoopSupport index 266a6426e..360f4eba3 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 266a6426ef69b64a99570378efc29384261c3ded +Subproject commit 360f4eba3fecd159287a79aeb61686ca96bd823c diff --git a/MinimedKit b/MinimedKit index f1ac5712a..e654e1778 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit f1ac5712a4b5d23ae4cf7273a6b8cef3acf1a290 +Subproject commit e654e1778f9998645678737ec76370d0a24f6412 diff --git a/MixpanelService b/MixpanelService index abf41c59b..b33debdac 160000 --- a/MixpanelService +++ b/MixpanelService @@ -1 +1 @@ -Subproject commit abf41c59b0e4fd20bf5ee1fadcc1f5899692827b +Subproject commit b33debdac37d6ef3be955eebb0c42495a1f19232 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index c5a131cbf..043f594f5 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit c5a131cbf7054529341ab0ce04cc211e5fe41930 +Subproject commit 043f594f53472b8ca6ee0bdc1b21654ca936d130 diff --git a/NightscoutService b/NightscoutService index a18dde325..954f01bb8 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit a18dde325fc66bd923dc82c13c6de96afd867ce6 +Subproject commit 954f01bb8a89d6450d68257c5cddc66edbf810ed diff --git a/OmniBLE b/OmniBLE index 2822d18e7..47bdb0e8c 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 2822d18e783c2bd6dcd45b87d5aebb97b7621d51 +Subproject commit 47bdb0e8c92fb5a40e21ecbdf5b8ff0d21bec4dd diff --git a/OmniKit b/OmniKit index a5aec1c12..b01da5503 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit a5aec1c12dfdee8a25d914c1e4fea8ccc5968fd4 +Subproject commit b01da55030c13fee9b0fa1c02a2c9e2b04b12a7f diff --git a/Scripts/update_submodule_refs.sh b/Scripts/update_submodule_refs.sh index 63b82403e..c221eb3a6 100755 --- a/Scripts/update_submodule_refs.sh +++ b/Scripts/update_submodule_refs.sh @@ -1,6 +1,6 @@ #!/bin/zsh -projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main LoopKit:LibreTransmitter:main) +projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev ps2:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main LoopKit:LibreTransmitter:main LoopKit:MixpanelService:main) for project in ${projects}; do echo "Updating to $project" diff --git a/TidepoolService b/TidepoolService index fd1c1c028..66e94f240 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit fd1c1c028d92732815bc722718a18c803e32a376 +Subproject commit 66e94f2408797be049e86db12ff96b1f79c9d815 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index c6c5309eb..0f93513d5 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit c6c5309ebdc76aa7aa4a88941fb4a6e0d07cce8d +Subproject commit 0f93513d5c306342c4d3ce85f5ab062da1e1b145 From 4e54d0c78d86357d9ec3721f51a9ccc689588d1a Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 22 Sep 2023 15:37:30 -0500 Subject: [PATCH 098/131] Bump Loop submodule rev --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index eb211c18f..c7091c00b 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit eb211c18f6c3a9c2e5872cfca06625d11aa45d51 +Subproject commit c7091c00bb8a9412c881dcf49d30013b121a34dd From 0ec6d0c140841f3d6ea99afd5e2e22e8e499278a Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 23 Sep 2023 10:07:34 -0500 Subject: [PATCH 099/131] Service state restoration fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index c7091c00b..15f05acc3 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit c7091c00bb8a9412c881dcf49d30013b121a34dd +Subproject commit 15f05acc362b1193c053765f2fc33793bded744d From bfd8db45c0f66f3969361dfc6dbeb1bd74fbb571 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 23 Sep 2023 11:11:58 -0500 Subject: [PATCH 100/131] Upload pod changes to Nightscout as Site Change treatments, for the cannula age (CAGE) pill --- Loop | 2 +- LoopKit | 2 +- MinimedKit | 2 +- NightscoutService | 2 +- OmniBLE | 2 +- OmniKit | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Loop b/Loop index 15f05acc3..55cf35a91 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 15f05acc362b1193c053765f2fc33793bded744d +Subproject commit 55cf35a91a06e271f3fd87ebaae8324f84cea126 diff --git a/LoopKit b/LoopKit index 23e699667..7b6be3147 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 23e6996678b094390751ab4bf7f45140260702b8 +Subproject commit 7b6be3147b4fd31448365e28882c9126c6a9f2db diff --git a/MinimedKit b/MinimedKit index e654e1778..d52edb396 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit e654e1778f9998645678737ec76370d0a24f6412 +Subproject commit d52edb3965a2eee287c4d4648a5c65366f1645c8 diff --git a/NightscoutService b/NightscoutService index 954f01bb8..7ddebd646 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 954f01bb8a89d6450d68257c5cddc66edbf810ed +Subproject commit 7ddebd64663d831d060af022dadd7a236625c496 diff --git a/OmniBLE b/OmniBLE index 47bdb0e8c..cb254e099 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 47bdb0e8c92fb5a40e21ecbdf5b8ff0d21bec4dd +Subproject commit cb254e0994b9d867b50f4e0e6ef59df9d29d21e5 diff --git a/OmniKit b/OmniKit index b01da5503..f476a4de8 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit b01da55030c13fee9b0fa1c02a2c9e2b04b12a7f +Subproject commit f476a4de85de5649da19c4268619ef9ea9bb1970 From 7984cec9589b168a8ebf1c7df1b2e0344d506d6e Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 23 Sep 2023 22:49:40 -0500 Subject: [PATCH 101/131] MDT Set change upload --- MinimedKit | 2 +- NightscoutService | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MinimedKit b/MinimedKit index d52edb396..c12f64831 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit d52edb3965a2eee287c4d4648a5c65366f1645c8 +Subproject commit c12f648312f938db5928f5ee576f15d185dadfc0 diff --git a/NightscoutService b/NightscoutService index 7ddebd646..5b6b4f78e 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 7ddebd64663d831d060af022dadd7a236625c496 +Subproject commit 5b6b4f78e5561a7009a66ef9fb70b181b30fa3a6 From f1a6152f196a91ebbe21186e06d7dc56bc943b85 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 24 Sep 2023 08:37:10 -0500 Subject: [PATCH 102/131] Bug fix for mdt set change detection, and upload pump alarms to NS --- MinimedKit | 2 +- NightscoutService | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MinimedKit b/MinimedKit index c12f64831..6d20f722a 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit c12f648312f938db5928f5ee576f15d185dadfc0 +Subproject commit 6d20f722a024cdbc000cba031b67d0a10419d5e4 diff --git a/NightscoutService b/NightscoutService index 5b6b4f78e..7ff25ae53 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 5b6b4f78e5561a7009a66ef9fb70b181b30fa3a6 +Subproject commit 7ff25ae53c344b0405a60c9982a1e6980847b52b From 8f878b407d2b7cfa14254943df0372bc8f36493c Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 29 Sep 2023 16:06:08 -0500 Subject: [PATCH 103/131] Add widget fixes --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 55cf35a91..b72011586 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 55cf35a91a06e271f3fd87ebaae8324f84cea126 +Subproject commit b72011586da24ac9530acbcfab449dd6b57fcadd From c15bf6cc97d65df2a9f5957ae3996d4408bdfce0 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 30 Sep 2023 08:37:16 -0500 Subject: [PATCH 104/131] Update circleci build to xcode 15 (#89) * Update circleci build to xcode 15 * Update workflow to build with Xcode 15 * Bump device * Fix iphone version --- .circleci/config.yml | 6 +++--- .github/workflows/build_loop.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e0058c0d2..821bd0025 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ jobs: build_and_test: macos: - xcode: 14.3.1 + xcode: 15.0.0 steps: - checkout - run: @@ -9,10 +9,10 @@ jobs: command: git submodule update --init --recursive --depth 1 - run: name: Build Loop - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 13,OS=15.5' build | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.0' build | xcpretty - run: name: Run Tests - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 13,OS=15.5' test | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.0' test | xcpretty workflows: version: 2 build_and_test: diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index cec2aaade..0334baa1c 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -167,7 +167,7 @@ jobs: ) steps: - name: Select Xcode version - run: "sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_15.0.app/Contents/Developer" - name: Checkout Repo for syncing if: | From 5ba3678a168668e6edb4aea6ee79649fb4cc58de Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 30 Sep 2023 17:57:27 -0500 Subject: [PATCH 105/131] Run tests on iOS 16.4 until iOS 17 simulators are working --- .circleci/config.yml | 4 ++-- LibreTransmitter | 2 +- LoopKit | 2 +- .../xcshareddata/xcschemes/LoopWorkspace.xcscheme | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 821bd0025..7c4f35a75 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,10 +9,10 @@ jobs: command: git submodule update --init --recursive --depth 1 - run: name: Build Loop - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.0' build | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 14,OS=16.4' build | xcpretty - run: name: Run Tests - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.0' test | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 14,OS=16.4' test | xcpretty workflows: version: 2 build_and_test: diff --git a/LibreTransmitter b/LibreTransmitter index 165f45229..45a16cc05 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 165f45229d65ee8230c33151a774f2acd1308243 +Subproject commit 45a16cc057a402ce705ae9bd20a9f1e6e6343320 diff --git a/LoopKit b/LoopKit index 7b6be3147..b27421712 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 7b6be3147b4fd31448365e28882c9126c6a9f2db +Subproject commit b27421712b9c9340af769197d994eda172c2e1c1 diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme index 9539d9758..f229038dd 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme +++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme @@ -1,6 +1,6 @@ Date: Sun, 1 Oct 2023 10:02:37 -0500 Subject: [PATCH 106/131] Include pending insulin in dosing decision --- LibreTransmitter | 2 +- Loop | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LibreTransmitter b/LibreTransmitter index 45a16cc05..1a1f18f8d 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 45a16cc057a402ce705ae9bd20a9f1e6e6343320 +Subproject commit 1a1f18f8de74d73b925b7d7367d096f5208e7550 diff --git a/Loop b/Loop index b72011586..52ea3be83 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit b72011586da24ac9530acbcfab449dd6b57fcadd +Subproject commit 52ea3be839f971ffc55e464dcde9d23c13e952ee From d3297bb722048c10807192d0701814be207f0725 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 22 Oct 2023 13:04:49 -0500 Subject: [PATCH 107/131] Update build settings to avoid macos build during translation import --- AmplitudeService | 2 +- CGMBLEKit | 2 +- LibreTransmitter | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- NightscoutService | 2 +- OmniBLE | 2 +- OmniKit | 2 +- Scripts/import_localizations.sh | 4 ++-- TidepoolService | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index 2ec52cee9..98f9759b1 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit 2ec52cee95464ef26cb88f8e99719e801c49a2ae +Subproject commit 98f9759b17e8716c65257c24a652564ead3c5183 diff --git a/CGMBLEKit b/CGMBLEKit index 995e86170..4eb3c940b 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 995e8617064fa5f76a9433391c2e3c305dd736ce +Subproject commit 4eb3c940b0e99ae2715fc6462babd2597d46a845 diff --git a/LibreTransmitter b/LibreTransmitter index 1a1f18f8d..c01eba63e 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 1a1f18f8de74d73b925b7d7367d096f5208e7550 +Subproject commit c01eba63e94e9f6f2841a8835680c4e39c61b18d diff --git a/Loop b/Loop index 52ea3be83..33b001474 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 52ea3be839f971ffc55e464dcde9d23c13e952ee +Subproject commit 33b001474b25d4ee4f20e0824163e5e49e549e16 diff --git a/LoopKit b/LoopKit index b27421712..70d1860e8 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit b27421712b9c9340af769197d994eda172c2e1c1 +Subproject commit 70d1860e822e22f740c219654361ae69dddef50c diff --git a/LoopOnboarding b/LoopOnboarding index d5ede30d4..4c5c19279 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit d5ede30d47d81426854d28747b60194dc0080743 +Subproject commit 4c5c1927999ae5dd3861e67ca9f10c14a59d1cc6 diff --git a/LoopSupport b/LoopSupport index 360f4eba3..4728c6783 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 360f4eba3fecd159287a79aeb61686ca96bd823c +Subproject commit 4728c67836e6a60118fcf6cc262010e9b3d14e68 diff --git a/MinimedKit b/MinimedKit index 6d20f722a..d29ee3611 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit 6d20f722a024cdbc000cba031b67d0a10419d5e4 +Subproject commit d29ee3611a31be1096c3886835e5fef081f8b211 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index 043f594f5..3b220185d 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit 043f594f53472b8ca6ee0bdc1b21654ca936d130 +Subproject commit 3b220185d0bea9f5f49c2d8d99db95cfe4c636c0 diff --git a/NightscoutService b/NightscoutService index 7ff25ae53..9b2f2ae74 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 7ff25ae53c344b0405a60c9982a1e6980847b52b +Subproject commit 9b2f2ae747fcb6e846397dc02b954f641e934146 diff --git a/OmniBLE b/OmniBLE index cb254e099..6a78e20b7 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit cb254e0994b9d867b50f4e0e6ef59df9d29d21e5 +Subproject commit 6a78e20b75f7f527b02b354d5ea352df85ef4b20 diff --git a/OmniKit b/OmniKit index f476a4de8..3bc25336e 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit f476a4de85de5649da19c4268619ef9ea9bb1970 +Subproject commit 3bc25336eb6e8f1b594f600d1ab6e11af4438673 diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index ad565ace3..24d8bb548 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -27,7 +27,7 @@ lokalise2 \ --replace-breaks=false \ --unzip-to ./xliff_in -projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev LoopKit:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main) +projects=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev LoopKit:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main LoopKit:LibreTransmitter:main) for project in ${projects}; do echo "Prepping $project" @@ -37,6 +37,7 @@ for project in ${projects}; do git checkout $branch git pull git branch -D translations || true + git checkout -b translations || true cd - done @@ -56,7 +57,6 @@ for project in ${projects}; do IFS=":" read user dir branch <<< "$project" echo "parts = $user $dir $branch" cd $dir - git checkout -b translations || true git add . if git commit -am "Updated translations from Lokalise on ${date}"; then git push -f diff --git a/TidepoolService b/TidepoolService index 66e94f240..f7d46701f 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 66e94f2408797be049e86db12ff96b1f79c9d815 +Subproject commit f7d46701f24356e8ff387087cb4f687268ae0f3d From e43b7a30d233b3eacd479c33ce1655a2d6ae0742 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 22 Oct 2023 13:05:37 -0500 Subject: [PATCH 108/131] Bump RileyLinkKit rev --- RileyLinkKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RileyLinkKit b/RileyLinkKit index 9dbf381ac..a0e419da3 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit 9dbf381ace7d563daf93a6f378151ce350d4f031 +Subproject commit a0e419da314d0ad42b41ccb04af73cd1fbf41257 From 767ba3d5db7ac14eab021fb7da1f8fb261f2d3d8 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 28 Oct 2023 09:44:03 -0500 Subject: [PATCH 109/131] heartbeat setup fix, and OmniKit translations --- Loop | 2 +- OmniKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index 33b001474..7c60cacb2 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 33b001474b25d4ee4f20e0824163e5e49e549e16 +Subproject commit 7c60cacb2e9490db21e60cedb4a4c4586b65074a diff --git a/OmniKit b/OmniKit index 3bc25336e..aaa0f6822 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit 3bc25336eb6e8f1b594f600d1ab6e11af4438673 +Subproject commit aaa0f6822b2391f45b60fecfe76a320615ec5275 From cf751c3543ae36f8ca28710757e0654fe2d54258 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 28 Oct 2023 10:01:23 -0500 Subject: [PATCH 110/131] Add slide button cannula insertion --- .../xcshareddata/swiftpm/Package.resolved | 9 +++++++++ OmniBLE | 2 +- OmniKit | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 8f0e09f2b..21dc1ec5a 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -71,6 +71,15 @@ "revision" : "8e4022f2852d77240d0a17482cbfe325354aac70" } }, + { + "identity" : "slidebutton", + "kind" : "remoteSourceControl", + "location" : "https://github.com/no-comment/SlideButton", + "state" : { + "branch" : "main", + "revision" : "82e907608fbd42cc23232bdb0c1720c288dbca2f" + } + }, { "identity" : "swiftcharts", "kind" : "remoteSourceControl", diff --git a/OmniBLE b/OmniBLE index 6a78e20b7..4dcdc4b72 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 6a78e20b75f7f527b02b354d5ea352df85ef4b20 +Subproject commit 4dcdc4b72105f750714fc8b89eda4868c504fabe diff --git a/OmniKit b/OmniKit index aaa0f6822..87f3819aa 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit aaa0f6822b2391f45b60fecfe76a320615ec5275 +Subproject commit 87f3819aac4f379f71c045c98afd1ad06e0bfa26 From 6b7bba6293b0d8789716e067723abb1afd57f334 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 28 Oct 2023 10:16:21 -0500 Subject: [PATCH 111/131] Disable autolock during pod pairing (Dash) --- OmniBLE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmniBLE b/OmniBLE index 4dcdc4b72..f9a7ba7ee 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 4dcdc4b72105f750714fc8b89eda4868c504fabe +Subproject commit f9a7ba7eecd9c9e98385a33ccf14deb644876e01 From 965cc5caacdc41cfa3ed6613f487e3dc6836f3e4 Mon Sep 17 00:00:00 2001 From: bjornoleh <63544115+bjornoleh@users.noreply.github.com> Date: Sun, 10 Dec 2023 15:56:27 +0100 Subject: [PATCH 112/131] Sync the GitHub runner clock with the Windows time server (#98) Adding a step to workflow jobs that interface Apple servers, as a workaround for build issues caused by runner clocks being out of sync. See https://github.com/actions/runner issue number 2996 for details. name: Sync clock run: sudo sntp -sS time.windows.com Added to the following workflows / jobs: validate_secrets.yml / validate-fastlane-secrets add_identifiers.yml / identifiers build_loop.yml / build create_certs.yml / certificates --- .github/workflows/add_identifiers.yml | 4 ++++ .github/workflows/build_loop.yml | 6 +++++- .github/workflows/create_certs.yml | 4 ++++ .github/workflows/validate_secrets.yml | 4 ++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index c57e72960..9dc6eca47 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -29,6 +29,10 @@ jobs: # Install project dependencies - name: Install Project Dependencies run: bundle install + + # Sync the GitHub runner clock with the Windows time server (workaround as suggested in https://github.com/actions/runner/issues/2996) + - name: Sync clock + run: sudo sntp -sS time.windows.com # Create or update identifiers for app - name: Fastlane Provision diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 0334baa1c..3563cc550 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -252,8 +252,12 @@ jobs: run: find /usr/local/lib/ruby/gems -name table_printer.rb | xargs sed -i "" "/puts(Terminal::Table.new(params))/d" # Install project dependencies - - name: Install project dependencies + - name: Install Project Dependencies run: bundle install + + # Sync the GitHub runner clock with the Windows time server (workaround as suggested in https://github.com/actions/runner/issues/2996) + - name: Sync clock + run: sudo sntp -sS time.windows.com # Build signed Loop IPA file - name: Fastlane Build & Archive diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index faa62b32c..cca229887 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -29,6 +29,10 @@ jobs: # Install project dependencies - name: Install Project Dependencies run: bundle install + + # Sync the GitHub runner clock with the Windows time server (workaround as suggested in https://github.com/actions/runner/issues/2996) + - name: Sync clock + run: sudo sntp -sS time.windows.com # Create or update certificates for app - name: Create Certificates diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index 6f3f4c746..b5e6d9381 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -127,6 +127,10 @@ jobs: - name: Install Project Dependencies run: bundle install + + # Sync the GitHub runner clock with the Windows time server (workaround as suggested in https://github.com/actions/runner/issues/2996) + - name: Sync clock + run: sudo sntp -sS time.windows.com - name: Validate Fastlane Secrets run: | From 67a4b1f53deec415b32a8fccf2a3ae2ac3ea56a6 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 11 Dec 2023 19:48:53 -0600 Subject: [PATCH 113/131] Update submodules --- Loop | 2 +- OmniKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index 7c60cacb2..b6610a1d4 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 7c60cacb2e9490db21e60cedb4a4c4586b65074a +Subproject commit b6610a1d44878e96b7898ebafbf40f2b6b4a6560 diff --git a/OmniKit b/OmniKit index 87f3819aa..df8d2fdf7 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit 87f3819aac4f379f71c045c98afd1ad06e0bfa26 +Subproject commit df8d2fdf793621648ec273895e69862ee6c97b4f From 7340d55b393991edce20601acfc8e83ff5051abc Mon Sep 17 00:00:00 2001 From: Marion Barker Date: Wed, 3 Jan 2024 15:02:08 -0800 Subject: [PATCH 114/131] update to rev of SlideButton package that handles rtl languages (#103) --- LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 21dc1ec5a..e8fc13c3c 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -77,7 +77,7 @@ "location" : "https://github.com/no-comment/SlideButton", "state" : { "branch" : "main", - "revision" : "82e907608fbd42cc23232bdb0c1720c288dbca2f" + "revision" : "5eacebba4d7deeb693592bc9a62ab2d2181e133b" } }, { From 9bceb3a25f92aa27cdd8d604a094f907529e4963 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 14 Feb 2024 21:19:26 -0600 Subject: [PATCH 115/131] Bump submodule revs --- LoopKit | 2 +- OmniBLE | 2 +- OmniKit | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LoopKit b/LoopKit index 70d1860e8..d31a8c2eb 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 70d1860e822e22f740c219654361ae69dddef50c +Subproject commit d31a8c2eb5e001901f51dd3bf323097470beb6b5 diff --git a/OmniBLE b/OmniBLE index f9a7ba7ee..8f78c3444 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit f9a7ba7eecd9c9e98385a33ccf14deb644876e01 +Subproject commit 8f78c34440ad64579e4dd6c44245e2e23e4ee927 diff --git a/OmniKit b/OmniKit index df8d2fdf7..3e94dc6ff 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit df8d2fdf793621648ec273895e69862ee6c97b4f +Subproject commit 3e94dc6ffb48fdc365e9ff4f28e68a7f59db1035 From 0c65470c87e6d3c342928044e08812e894f62147 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 18 Feb 2024 13:45:14 -0600 Subject: [PATCH 116/131] Bring in test updates for iOS 17 --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index b6610a1d4..7179901e8 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit b6610a1d44878e96b7898ebafbf40f2b6b4a6560 +Subproject commit 7179901e8729e552cb7d527c75ef22e2bd867287 diff --git a/LoopKit b/LoopKit index d31a8c2eb..a88392de8 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit d31a8c2eb5e001901f51dd3bf323097470beb6b5 +Subproject commit a88392de8288d4832eae8b75c6464cedd3faaab9 From 8bf79730ab665596ffdcde5eba5ef26a388209fb Mon Sep 17 00:00:00 2001 From: Marion Barker Date: Mon, 19 Feb 2024 10:24:51 -0800 Subject: [PATCH 117/131] include flag for DEBUG_FEATURES_ENABLED by default (#111) --- LoopConfigOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopConfigOverride.xcconfig b/LoopConfigOverride.xcconfig index 114719502..2969db288 100644 --- a/LoopConfigOverride.xcconfig +++ b/LoopConfigOverride.xcconfig @@ -10,7 +10,7 @@ //URL_SCHEME_NAME = $(MAIN_APP_DISPLAY_NAME) // Features -SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) EXPERIMENTAL_FEATURES_ENABLED SIMULATORS_ENABLED ALLOW_ALGORITHM_EXPERIMENTS //DEBUG_FEATURES_ENABLED +SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) EXPERIMENTAL_FEATURES_ENABLED SIMULATORS_ENABLED ALLOW_ALGORITHM_EXPERIMENTS DEBUG_FEATURES_ENABLED // Put your team id here for signing //LOOP_DEVELOPMENT_TEAM = UY678SP37Q From e6ca0a047599ecdee439354143255d091b54c018 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 19 Feb 2024 12:26:24 -0600 Subject: [PATCH 118/131] Update submodules for guardrails crash, simulator settings access, and pod pairing UI resumption --- LoopKit | 2 +- OmniBLE | 2 +- OmniKit | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LoopKit b/LoopKit index a88392de8..2f535b3ca 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit a88392de8288d4832eae8b75c6464cedd3faaab9 +Subproject commit 2f535b3ca46825e82e0dd1b5ef9daccd53a3f0ca diff --git a/OmniBLE b/OmniBLE index 8f78c3444..9c9f34e40 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 8f78c34440ad64579e4dd6c44245e2e23e4ee927 +Subproject commit 9c9f34e4034ef4b91d3ef377b44c3bae6dc95572 diff --git a/OmniKit b/OmniKit index 3e94dc6ff..a78fdcd96 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit 3e94dc6ffb48fdc365e9ff4f28e68a7f59db1035 +Subproject commit a78fdcd96deb22638f8a3451468b0b18b70fd1d9 From ce74cf4238abf783e00de4451e6b8de0535d4ed8 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 21 Feb 2024 10:10:54 -0600 Subject: [PATCH 119/131] Bring in OmniBLE updates --- OmniBLE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmniBLE b/OmniBLE index 9c9f34e40..bfe2795cb 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 9c9f34e4034ef4b91d3ef377b44c3bae6dc95572 +Subproject commit bfe2795cb4933c5ecc6f6d8040aefc4b281563de From ed8d7a060c81b5d8b2401fabd2b7be1d87b2f85c Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 6 Apr 2024 16:53:36 -0500 Subject: [PATCH 120/131] Bring in latest submodule revs --- G7SensorKit | 2 +- OmniBLE | 2 +- OmniKit | 2 +- dexcom-share-client-swift | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/G7SensorKit b/G7SensorKit index 83d8aafd7..a6a6e4c69 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 83d8aafd7fc7630e51d7292bbb287d865aba72c7 +Subproject commit a6a6e4c69601e357c139aabde9ac8b25a41ac515 diff --git a/OmniBLE b/OmniBLE index bfe2795cb..6e43f26f4 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit bfe2795cb4933c5ecc6f6d8040aefc4b281563de +Subproject commit 6e43f26f47b940c11c6a0a3cf823d14e5214e11b diff --git a/OmniKit b/OmniKit index a78fdcd96..b670ae247 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit a78fdcd96deb22638f8a3451468b0b18b70fd1d9 +Subproject commit b670ae247660cec7007667eb238005cc5f11daf2 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 0f93513d5..21d8657d7 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 0f93513d5c306342c4d3ce85f5ab062da1e1b145 +Subproject commit 21d8657d727f26df76342188e580022bf4884714 From 2bcbe4c5f4eb9576e307e7a810083b88bb355908 Mon Sep 17 00:00:00 2001 From: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com> Date: Wed, 24 Apr 2024 04:58:58 +0200 Subject: [PATCH 121/131] Update browser build action dependencies to meet GH node version requirements (#120) --- .github/workflows/add_identifiers.yml | 2 +- .github/workflows/build_loop.yml | 12 ++++++------ .github/workflows/create_certs.yml | 2 +- .github/workflows/validate_secrets.yml | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index 9dc6eca47..446be917b 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -20,7 +20,7 @@ jobs: # Checks-out the repo - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Patch Fastlane Match to not print tables - name: Patch Match Tables diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 3563cc550..3695fc053 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -97,7 +97,7 @@ jobs: if: | needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && (vars.SCHEDULED_BUILD != 'false' || vars.SCHEDULED_SYNC != 'false') - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GH_PAT }} ref: alive @@ -107,7 +107,7 @@ jobs: needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && vars.SCHEDULED_SYNC != 'false' && github.repository_owner != 'LoopKit' id: sync - uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 + uses: aormsby/Fork-Sync-With-Upstream-action@v3.4.1 with: target_sync_branch: ${{ env.ALIVE_BRANCH }} shallow_since: 6 months ago @@ -173,7 +173,7 @@ jobs: if: | needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && vars.SCHEDULED_SYNC != 'false' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GH_PAT }} ref: ${{ env.TARGET_BRANCH }} @@ -183,7 +183,7 @@ jobs: needs.check_alive_and_permissions.outputs.WORKFLOW_PERMISSION == 'true' && vars.SCHEDULED_SYNC != 'false' && github.repository_owner != 'LoopKit' id: sync - uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 + uses: aormsby/Fork-Sync-With-Upstream-action@v3.4.1 with: target_sync_branch: ${{ env.TARGET_BRANCH }} shallow_since: 6 months ago @@ -213,7 +213,7 @@ jobs: echo "NEW_COMMITS=${{ steps.sync.outputs.has_new_commits }}" >> $GITHUB_OUTPUT - name: Checkout Repo for building - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GH_PAT }} submodules: recursive @@ -284,7 +284,7 @@ jobs: # Upload Build artifacts - name: Upload build log, IPA and Symbol artifacts if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: build-artifacts path: | diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index cca229887..e9d07d79d 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -20,7 +20,7 @@ jobs: # Checks-out the repo - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Patch Fastlane Match to not print tables - name: Patch Match Tables diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index b5e6d9381..59cd610b7 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -123,7 +123,7 @@ jobs: TEAMID: ${{ secrets.TEAMID }} steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Project Dependencies run: bundle install From db751fef7b1b349aa0eba12515d53251017a191f Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Tue, 23 Apr 2024 22:03:25 -0500 Subject: [PATCH 122/131] Bump submodule refs --- G7SensorKit | 2 +- Loop | 2 +- OmniBLE | 2 +- OmniKit | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/G7SensorKit b/G7SensorKit index a6a6e4c69..eba7d98b9 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit a6a6e4c69601e357c139aabde9ac8b25a41ac515 +Subproject commit eba7d98b9a7995f50209f14f20cc1ac779b330ea diff --git a/Loop b/Loop index 7179901e8..6cf0285e1 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 7179901e8729e552cb7d527c75ef22e2bd867287 +Subproject commit 6cf0285e13f6523339b6a4758558cd66d0153c2e diff --git a/OmniBLE b/OmniBLE index 6e43f26f4..e15b18796 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit 6e43f26f47b940c11c6a0a3cf823d14e5214e11b +Subproject commit e15b18796a6ac0a08851b4ca2924cec669d669c5 diff --git a/OmniKit b/OmniKit index b670ae247..30428b788 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit b670ae247660cec7007667eb238005cc5f11daf2 +Subproject commit 30428b78809bf816b12b01ca2a05eb843ab46c99 From 6ffc460cb5cbb6d8fff59e07097355b4a7824d5e Mon Sep 17 00:00:00 2001 From: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com> Date: Tue, 30 Apr 2024 04:11:53 +0200 Subject: [PATCH 123/131] Change GITHUB_TOKEN to user-created GH_PAT (#125) Fixes permission issues where GH api responds with: ```swift gh: Resource not accessible by integration (HTTP 403) {"message":"Resource not accessible by integration","documentation_url":"https://docs.github.com/rest/git/refs#create-a-reference"} Error: Process completed with exit code 1. ``` because the default, auto-created GITHUB_TOKEN cannot be given appropriate content write permissions to create branches in the owner's repository --- .github/workflows/build_loop.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 3695fc053..2e23da16a 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -53,7 +53,7 @@ jobs: - name: Check for alive branch if: steps.workflow-permission.outputs.has_permission == 'true' env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_PAT }} run: | if [[ "$(gh api -H "Accept: application/vnd.github+json" /repos/${{ github.repository_owner }}/LoopWorkspace/branches | jq --raw-output 'any(.name=="alive")')" == "true" ]]; then echo "Branch 'alive' exists." @@ -66,7 +66,7 @@ jobs: - name: Create alive branch if: env.ALIVE_BRANCH_EXISTS == 'false' env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_PAT }} run: | # Get ref for LoopKit/LoopWorkspace:dev SHA=$(curl -sS https://api.github.com/repos/${{ env.UPSTREAM_REPO }}/git/refs \ From 47450c1090c4cb0d5e28db81e26e42e58ba23bbd Mon Sep 17 00:00:00 2001 From: Deniz Cengiz <48965855+dnzxy@users.noreply.github.com> Date: Tue, 30 Apr 2024 04:12:23 +0200 Subject: [PATCH 124/131] Update Gemfile.lock to bump Fastlane to 2.220.0 (#126) --- Gemfile.lock | 93 +++++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 44 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b10a322c5..1d075e8cf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,29 +1,32 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.6) + CFPropertyList (3.0.7) + base64 + nkf rexml - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) - artifactory (3.0.15) + artifactory (3.0.17) atomos (0.1.3) - aws-eventstream (1.2.0) - aws-partitions (1.824.0) - aws-sdk-core (3.181.1) - aws-eventstream (~> 1, >= 1.0.2) + aws-eventstream (1.3.0) + aws-partitions (1.921.0) + aws-sdk-core (3.193.0) + aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.5) + aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.71.0) - aws-sdk-core (~> 3, >= 3.177.0) + aws-sdk-kms (1.80.0) + aws-sdk-core (~> 3, >= 3.193.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.134.0) - aws-sdk-core (~> 3, >= 3.181.0) + aws-sdk-s3 (1.148.0) + aws-sdk-core (~> 3, >= 3.193.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.6) - aws-sigv4 (1.6.0) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) + base64 (0.2.0) claide (1.1.0) colored (1.2) colored2 (3.1.2) @@ -36,7 +39,7 @@ GEM unf (>= 0.0.5, < 1.0.0) dotenv (2.8.1) emoji_regex (3.2.3) - excon (0.103.0) + excon (0.109.0) faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -65,15 +68,15 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.7) - fastlane (2.215.0) + fastimage (2.3.1) + fastlane (2.220.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) aws-sdk-s3 (~> 1.0) babosa (>= 1.0.3, < 2.0.0) bundler (>= 1.12.0, < 3.0.0) - colored + colored (~> 1.2) commander (~> 4.6) dotenv (>= 2.1.1, < 3.0.0) emoji_regex (>= 0.1, < 4.0) @@ -85,6 +88,7 @@ GEM gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) google-cloud-storage (~> 1.31) highline (~> 2.0) http-cookie (~> 1.0.5) @@ -93,10 +97,10 @@ GEM mini_magick (>= 4.9.4, < 5.0.0) multipart-post (>= 2.0.0, < 3.0.0) naturally (~> 2.2) - optparse (~> 0.1.1) + optparse (>= 0.1.1, < 1.0.0) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) - security (= 0.1.3) + security (= 0.1.5) simctl (~> 1.6.3) terminal-notifier (>= 2.0.0, < 3.0.0) terminal-table (~> 3) @@ -105,11 +109,11 @@ GEM word_wrap (~> 1.0.0) xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) - xcpretty-travis-formatter (>= 0.0.3) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.49.0) + google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.1) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -117,28 +121,27 @@ GEM representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - webrick google-apis-iamcredentials_v1 (0.17.0) google-apis-core (>= 0.11.0, < 2.a) google-apis-playcustomapp_v1 (0.13.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-storage_v1 (0.19.0) - google-apis-core (>= 0.9.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) + google-apis-storage_v1 (0.29.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.6.1) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) google-cloud-errors (1.3.1) - google-cloud-storage (1.44.0) + google-cloud-storage (1.45.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.19.0) + google-apis-storage_v1 (~> 0.29.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.8.0) + googleauth (1.8.1) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) multi_json (~> 1.11) @@ -149,19 +152,21 @@ GEM domain_name (~> 0.5) httpclient (2.8.3) jmespath (1.6.2) - json (2.6.3) - jwt (2.7.1) + json (2.7.2) + jwt (2.8.1) + base64 mini_magick (4.12.0) mini_mime (1.1.5) multi_json (1.15.0) - multipart-post (2.3.0) + multipart-post (2.4.0) nanaimo (0.3.0) naturally (2.2.1) - optparse (0.1.1) + nkf (0.2.0) + optparse (0.5.0) os (1.1.4) - plist (3.7.0) - public_suffix (5.0.3) - rake (13.0.6) + plist (3.7.1) + public_suffix (5.0.5) + rake (13.2.1) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) @@ -171,7 +176,7 @@ GEM rouge (2.0.7) ruby2_keywords (0.0.5) rubyzip (2.3.2) - security (0.1.3) + security (0.1.5) signet (0.18.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) @@ -185,17 +190,16 @@ GEM unicode-display_width (>= 1.1.1, < 3) trailblazer-option (0.1.2) tty-cursor (0.7.1) - tty-screen (0.8.1) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.8.2) - unicode-display_width (2.4.2) - webrick (1.8.1) + unf_ext (0.0.9.1) + unicode-display_width (2.5.0) word_wrap (1.0.0) - xcodeproj (1.22.0) + xcodeproj (1.24.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -210,6 +214,7 @@ GEM PLATFORMS arm64-darwin-21 arm64-darwin-22 + arm64-darwin-23 x86_64-darwin-19 DEPENDENCIES From c4b4588b2ba97b19a117c9e576b265d054126c51 Mon Sep 17 00:00:00 2001 From: Marion Barker Date: Sun, 19 May 2024 09:14:29 -0700 Subject: [PATCH 125/131] Update testflight.md - apple moved keys under integrations (#112) * Update testflight.md - apple moved keys under integrations * Fix typo --- fastlane/testflight.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/testflight.md b/fastlane/testflight.md index b46bffc42..abe99314e 100644 --- a/fastlane/testflight.md +++ b/fastlane/testflight.md @@ -54,7 +54,7 @@ This step is common for all GitHub Browser Builds; do this step only once. You w 1. Sign in to the [Apple developer portal page](https://developer.apple.com/account/resources/certificates/list). 1. Copy the Team ID from the upper right of the screen. Record this as your `TEAMID`. -1. Go to the [App Store Connect](https://appstoreconnect.apple.com/access/api) interface, click the "Keys" tab, and create a new key with "Admin" access. Give it the name: "FastLane API Key". +1. Go to the [App Store Connect](https://appstoreconnect.apple.com/access/integrations/api) interface, click the "Integrations" tab, and create a new key with "Admin" access. Give it the name: "FastLane API Key". 1. Record the issuer id; this will be used for `FASTLANE_ISSUER_ID`. 1. Record the key id; this will be used for `FASTLANE_KEY_ID`. 1. Download the API key itself, and open it in a text editor. The contents of this file will be used for `FASTLANE_KEY`. Copy the full text, including the "-----BEGIN PRIVATE KEY-----" and "-----END PRIVATE KEY-----" lines. From 2edf125c9196a1d36d889a05d8f38126125b1c47 Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Sat, 6 Jul 2024 09:09:24 -0700 Subject: [PATCH 126/131] Update fastlane and macOS (#143) * update Fastlane to 2.221.1 * update runners to macOS 14 --- .github/workflows/add_identifiers.yml | 2 +- .github/workflows/build_loop.yml | 2 +- .github/workflows/create_certs.yml | 2 +- .github/workflows/validate_secrets.yml | 6 ++--- Gemfile.lock | 33 ++++++++++++++------------ 5 files changed, 24 insertions(+), 21 deletions(-) diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index 446be917b..aab334ab6 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -12,7 +12,7 @@ jobs: identifiers: name: Add Identifiers needs: validate - runs-on: macos-12 + runs-on: macos-14 steps: # Uncomment to manually select latest Xcode if needed #- name: Select Latest Xcode diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 2e23da16a..91785761c 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -156,7 +156,7 @@ jobs: build: name: Build needs: [validate, check_alive_and_permissions, check_latest_from_upstream] - runs-on: macos-13 + runs-on: macos-14 permissions: contents: write if: | # runs if started manually, or if sync schedule is set and enabled and scheduled on the first Saturday each month, or if sync schedule is set and enabled and new commits were found diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index e9d07d79d..90bb4f75b 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -12,7 +12,7 @@ jobs: certificates: name: Create Certificates needs: validate - runs-on: macos-12 + runs-on: macos-14 steps: # Uncomment to manually select latest Xcode if needed #- name: Select Latest Xcode diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index 59cd610b7..5ad976a01 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -5,7 +5,7 @@ on: [workflow_call, workflow_dispatch] jobs: validate-access-token: name: Access - runs-on: macos-13 + runs-on: macos-14 env: GH_PAT: ${{ secrets.GH_PAT }} GH_TOKEN: ${{ secrets.GH_PAT }} @@ -74,7 +74,7 @@ jobs: validate-match-secrets: name: Match-Secrets needs: validate-access-token - runs-on: macos-13 + runs-on: macos-14 env: GH_TOKEN: ${{ secrets.GH_PAT }} steps: @@ -112,7 +112,7 @@ jobs: validate-fastlane-secrets: name: Fastlane needs: [validate-access-token, validate-match-secrets] - runs-on: macos-13 + runs-on: macos-14 env: GH_PAT: ${{ secrets.GH_PAT }} GH_TOKEN: ${{ secrets.GH_PAT }} diff --git a/Gemfile.lock b/Gemfile.lock index 1d075e8cf..1ff12d548 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,22 +5,22 @@ GEM base64 nkf rexml - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.921.0) - aws-sdk-core (3.193.0) + aws-partitions (1.949.0) + aws-sdk-core (3.200.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.80.0) - aws-sdk-core (~> 3, >= 3.193.0) + aws-sdk-kms (1.87.0) + aws-sdk-core (~> 3, >= 3.199.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.148.0) - aws-sdk-core (~> 3, >= 3.193.0) + aws-sdk-s3 (1.155.0) + aws-sdk-core (~> 3, >= 3.199.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.8) aws-sigv4 (1.8.0) @@ -69,7 +69,7 @@ GEM faraday_middleware (1.2.0) faraday (~> 1.0) fastimage (2.3.1) - fastlane (2.220.0) + fastlane (2.221.1) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -148,31 +148,32 @@ GEM os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.5) + http-cookie (1.0.6) domain_name (~> 0.5) httpclient (2.8.3) jmespath (1.6.2) json (2.7.2) - jwt (2.8.1) + jwt (2.8.2) base64 - mini_magick (4.12.0) + mini_magick (4.13.1) mini_mime (1.1.5) multi_json (1.15.0) - multipart-post (2.4.0) + multipart-post (2.4.1) nanaimo (0.3.0) naturally (2.2.1) nkf (0.2.0) optparse (0.5.0) os (1.1.4) plist (3.7.1) - public_suffix (5.0.5) + public_suffix (5.1.1) rake (13.2.1) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.2.6) + rexml (3.2.9) + strscan rouge (2.0.7) ruby2_keywords (0.0.5) rubyzip (2.3.2) @@ -185,6 +186,7 @@ GEM simctl (1.6.10) CFPropertyList naturally + strscan (3.1.0) terminal-notifier (2.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) @@ -216,6 +218,7 @@ PLATFORMS arm64-darwin-22 arm64-darwin-23 x86_64-darwin-19 + x86_64-linux DEPENDENCIES fastlane From cd7d332ad1c8489a5ada91a2399980f4336afc0e Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 6 Jul 2024 11:23:33 -0500 Subject: [PATCH 127/131] Update submodules --- CGMBLEKit | 2 +- G7SensorKit | 2 +- LoopKit | 2 +- .../xcshareddata/swiftpm/Package.resolved | 3 ++- MinimedKit | 2 +- NightscoutService | 2 +- OmniBLE | 2 +- OmniKit | 2 +- TidepoolService | 2 +- 9 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CGMBLEKit b/CGMBLEKit index 4eb3c940b..ac97596eb 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 4eb3c940b0e99ae2715fc6462babd2597d46a845 +Subproject commit ac97596eb8a1ce955cee1888310cac680b3db033 diff --git a/G7SensorKit b/G7SensorKit index eba7d98b9..b5e992e21 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit eba7d98b9a7995f50209f14f20cc1ac779b330ea +Subproject commit b5e992e211d2ac6224acb105dd97fb484767da72 diff --git a/LoopKit b/LoopKit index 2f535b3ca..873b3b7c4 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 2f535b3ca46825e82e0dd1b5ef9daccd53a3f0ca +Subproject commit 873b3b7c406cfc982f9061afb5f5e27e88d9208d diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index e8fc13c3c..20f167d45 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,4 +1,5 @@ { + "originHash" : "f8d1e9c237647ab612da7f2bd3ae26946f39410508314c00cf54509a673f147e", "pins" : [ { "identity" : "amplitude-ios", @@ -108,5 +109,5 @@ } } ], - "version" : 2 + "version" : 3 } diff --git a/MinimedKit b/MinimedKit index d29ee3611..a079b5311 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit d29ee3611a31be1096c3886835e5fef081f8b211 +Subproject commit a079b53119594b37436043859f0fe0a0754724e2 diff --git a/NightscoutService b/NightscoutService index 9b2f2ae74..d839b6605 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 9b2f2ae747fcb6e846397dc02b954f641e934146 +Subproject commit d839b66054623c213ba79c57540f00e08fad81c3 diff --git a/OmniBLE b/OmniBLE index e15b18796..85fc3c6d4 160000 --- a/OmniBLE +++ b/OmniBLE @@ -1 +1 @@ -Subproject commit e15b18796a6ac0a08851b4ca2924cec669d669c5 +Subproject commit 85fc3c6d4805d580acdf6592b220717b6e842558 diff --git a/OmniKit b/OmniKit index 30428b788..a80e38b1b 160000 --- a/OmniKit +++ b/OmniKit @@ -1 +1 @@ -Subproject commit 30428b78809bf816b12b01ca2a05eb843ab46c99 +Subproject commit a80e38b1b7f203014b461f8aff8cead2c067e39d diff --git a/TidepoolService b/TidepoolService index f7d46701f..6e007cbde 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit f7d46701f24356e8ff387087cb4f687268ae0f3d +Subproject commit 6e007cbde9920a9d8f25ae855deb36f989a2ce0f From b211df17088c8d1cb6b1ace87fa30d038ceefa97 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 6 Jul 2024 13:39:06 -0500 Subject: [PATCH 128/131] Ps2/xcode15.4 (#145) * Update to xcode15.4 * update ios version used in circleci builds * update ios version used in circleci builds --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7c4f35a75..0ea0edd9a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ jobs: build_and_test: macos: - xcode: 15.0.0 + xcode: 15.4.0 steps: - checkout - run: @@ -9,10 +9,10 @@ jobs: command: git submodule update --init --recursive --depth 1 - run: name: Build Loop - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 14,OS=16.4' build | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.5' build | xcpretty - run: name: Run Tests - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 14,OS=16.4' test | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.5' test | xcpretty workflows: version: 2 build_and_test: From 1b309bff46430a65d7f9154dc99370370ac32ae5 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 6 Jul 2024 14:14:04 -0500 Subject: [PATCH 129/131] Update build_loop.yml (#146) --- .github/workflows/build_loop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 91785761c..dc84dbee8 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -167,7 +167,7 @@ jobs: ) steps: - name: Select Xcode version - run: "sudo xcode-select --switch /Applications/Xcode_15.0.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_15.4.app/Contents/Developer" - name: Checkout Repo for syncing if: | From 3542408b9b86613bd7e09ecdaebfba2f4c0fe7bb Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 6 Jul 2024 15:05:47 -0500 Subject: [PATCH 130/131] Update submodule for CGMBLEKit --- CGMBLEKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CGMBLEKit b/CGMBLEKit index ac97596eb..905cc0a58 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit ac97596eb8a1ce955cee1888310cac680b3db033 +Subproject commit 905cc0a58509e417aa7bb2ef9dacfb36f009231c From 1145f8af223ba0c5b19e4fe043860c646c6ea2d1 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 13 Jul 2024 14:22:22 -0500 Subject: [PATCH 131/131] Update to Loop 3.4 Release --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 6cf0285e1..49feb51f0 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 6cf0285e13f6523339b6a4758558cd66d0153c2e +Subproject commit 49feb51f07f8df6a384a3b2d1a2c81ef90917194