You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/browser/automatic.md
+58Lines changed: 58 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -65,6 +65,64 @@ The `alive` branch you need is created automatically when you run the `Build Loo
65
65
* You can delete every branch that starts with the name `alive`
66
66
* Leave the other branches alone unless a mentor directs you to take action
67
67
68
+
## Automatic Certificates
69
+
70
+
Coming soon with `Loop 3.6.0`.
71
+
72
+
Already here with `LoopFollow 2.3.0` and some other Open-Source apps.
73
+
74
+
### Requirements
75
+
76
+
You must have the `ENABLE_NUKE_CERTS` variable set to `true` for your *GitHub* organization, or when using a personal account to build, add it to each repository.
77
+
78
+
* Refer to [Add Variable](prepare-fork.md#add-variable){: target="_blank" }
79
+
80
+
### Certificates and `Match-Secrets`
81
+
82
+
The Create Certificates action does the following:
83
+
84
+
* Reads existing signing credentials from your `Match-Secrets` private respository and confirms if they are valid
85
+
* OR
86
+
* Uses your `Distribution` Certificate from *Apple* or creates a new one if one does not exist
87
+
* Securely stores, in your `Match-Secrets` private repository, signing credentials (like certificates and provisioning profiles from *Apple*) used for code signing for each Identifier in your app when you build
88
+
89
+
### Annual Renewal
90
+
91
+
This happens once a year after *Apple* automatically expires your `Distribution` Certificate.
92
+
93
+
* When the *Apple*`Distribution` certificate expires, the saved credentials in your `Match-Secrets` private repository are invalid and need to be removed (<code>nuke</code>)
94
+
* You need a new `Distribution` Certificate at *Apple*
95
+
* You need to create new signing credentials for `Match-Secrets`
96
+
97
+
For the `Loop` app, up through version 3.4.4, you need to do this process manually.
98
+
99
+
### Automatic Certificate Renewal
100
+
101
+
Some Open-Source apps, in particular `Trio` and `LoopFollow 2.3.0` already have this capability.
102
+
103
+
* If your signing credentials for the app being built are invalid and `ENABLE_NUKE_CERTS` is `true`, then signing credentials will be cleared from your `Match-Secrets` repository, a new `Distribution` certificate will be created at *Apple* and signing credentials for the current app will be generated and stored in `Match-Secrets`.
104
+
105
+
* Next app you build will need certificates created because all signing credentials were cleared out of your `Match-Secrets` repository
106
+
* If that app is configured for automatic certificate renewal, you only need to run the `Build Action`; it detects no signing credentials are available and creates them
107
+
* If that app is not configured for automatic certificate renewal, you must first run the action `Create Certificates` and then `Build`
108
+
109
+
### Open-Source App Schedule
110
+
111
+
Each Open-Source App has a schedule for when the automatic build happens. This determines when the automatic check for certificate status happens.
112
+
113
+
The times are shifted to make sure only one Open-Source app performs a `nuke` process at one time. This only happens once a year, but we wanted to be sure there are no conflicts. Even if an app doesn't have automatic certificates implemented yet, they are added to the table as suggested values to use when this capability gets added. All times are UTC. If other apps decide to add this feature, please make a pull request to LoopDocs so we can add those times to the deconfliction table.
114
+
115
+
| Open-Source App | AutoCerts? | Wed Time | 1st of Month Time |
116
+
|:--|:-:|--:|--:|
117
+
| <spantranslate="no">Loop</span> |`dev` only | 09:00 | 07:00 |
118
+
| <spantranslate="no">LoopCaregiver</span> | n | 13:00 | 11:00 |
119
+
| <spantranslate="no">LoopFollow</span> | y | 12:00 | 10:00 |
120
+
| <spantranslate="no">LoopFollow_Second</span> | y | 12:20 | 10:20 |
121
+
| <spantranslate="no">LoopFollow_Third</span> | y | 12:40 | 10:40 |
122
+
| <spantranslate="no">Trio</span> | y | 08:00 | 06:00 |
123
+
| <spantranslate="no">xDrip4iOS</span> | n | 16:00 | 14:00 |
124
+
125
+
68
126
## Modify Automatic Building
69
127
70
128
For someone using [development code](build-dev-browser.md) for their own use, they could decide to choose when to update their `fork` to the most recent commit. They can still have the advantage of automatic building without automatic updates; in other words, they want a new build added to TestFlight every month. There may be other configurations someone would choose. These options are available starting with Loop 3.3.0 (`dev` branch) and later.
Copy file name to clipboardExpand all lines: docs/browser/other-apps.md
+6-4Lines changed: 6 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ You will return to this page after reviewing (but not doing) this step [Configur
59
59
* Do you have more than one Looper, so you are using LoopFollow_Second or LoopFollow_Third?
60
60
* The 3 LoopFollow repositories enable you to customize the name shown on your phone
61
61
62
-
In your *GitHub* repository, find the file named: `LoopFollowDisplayNameConfig.xcconfig`
62
+
After you `fork` your *LoopFollow* repository, find the file named: `LoopFollowDisplayNameConfig.xcconfig`
63
63
64
64
* Open it in your browser
65
65
* Follow the directions to change `display_name`
@@ -79,7 +79,7 @@ The two repositories below are only if you need to follow a second or third loop
79
79
80
80
* All `repositories` in your *GitHub* organization use the organization <code>Secrets and Variables</code>
81
81
* If you have not already completed [Add <code>Secrets</code> to your *GitHub* Organization](#add-secrets-to-your-github-organization), do it now
82
-
* Skip ahead to [Validate <code>Secrets</code>](#validate-secrets)
82
+
* Skip ahead to [Add Identifiers](#add-identifiers)
83
83
84
84
### Using a Personal *GitHub* Account
85
85
@@ -112,10 +112,10 @@ Open the text file in which you maintain a copy of your 6 <code>Secrets</code> s
112
112
{width="500"}
113
113
{align="center"}
114
114
115
-
Once all six <code>Secrets</code> are added, proceed to the first Action to validate your secrets.
116
-
117
115
Be sure to [Add Variable](prepare-fork.md#add-variable){: target="_blank" } to the repository as well as `Secrets` to enable automatic certificate creation.
118
116
117
+
Once the <code>Secrets</code> and `Variable` are added, proceed to the first Action to validate your secrets.
118
+
119
119
## Validate <code>Secrets</code>
120
120
121
121
The first action step is to Validate <code>Secrets</code>. Near the top middle of your Repository fork, click on the `Actions` tab.
@@ -151,6 +151,8 @@ The `Validate Secrets` <span class=notranslate>Action</span> should
151
151
152
152
Near the top middle of your Repository fork, click on the "Actions" tab.
153
153
154
+
* If this is the first `Action` you run with this repository you'll be informed that `Workflows aren't being run on this forked repository`
155
+
* Tap on the green button that says: `I understand my workflows, go ahead and enable them`
154
156
* The graphic below is an example from Loop, your screen will show your app and associated repository
155
157
156
158
Refer to the graphic below for the numbered steps:
Copy file name to clipboardExpand all lines: docs/faqs/glossary.md
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -164,6 +164,8 @@ When Google Translate is selected:
164
164
165
165
**<spantranslate="no">Nightscout</span>** (Nightscout): a personal website used to view your glucose and diabetes management data, `Loop` can upload to `Nightscout`
166
166
167
+
**<spantranslate="no">nuke</span>** (nuke): clear signing credentials from your Match-Secrets repository
168
+
167
169
**<spantranslate="no">Onboarding</span>** (Onboarding): familiarize new, and existing, Loop users with settings in Loop 3 and ensure the Therapy Settings are all entered and are within safety guardrails
168
170
169
171
**<spantranslate="no">Omnipod</span>** (Omnipod): Insulet tubeless insulin pump; Loop supports Eros (with RileyLink) and DASH. Eros is also known as Classic, UST400, and System.
Copy file name to clipboardExpand all lines: includes/tooltip-list.txt
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -75,6 +75,7 @@
75
75
*[MPC]: model predictive control; the type of control algorithm used by Loop
76
76
*[NFC]: Near-Field Communication is used for scanning devices such as Libre sensors
77
77
*[Nightscout]: a personal website used to view your glucose and diabetes management data, `Loop` can upload to `Nightscout`
78
+
*[nuke]: clear signing credentials from your Match-Secrets repository
78
79
*[Onboarding]: familiarize new, and existing, Loop users with settings in Loop 3 and ensure the Therapy Settings are all entered and are within safety guardrails
79
80
*[Omnipod]: Insulet tubeless insulin pump; Loop supports Eros (with RileyLink) and DASH. Eros is also known as Classic, UST400, and System.
80
81
*[OrangeLink]: radio-frequency device Loop uses to control Eros pods (aka. Gen 3) and older Medtronic pumps
0 commit comments