Skip to content

Commit

Permalink
more edits for reorganized Browser Build section
Browse files Browse the repository at this point in the history
  • Loading branch information
marionbarker committed Aug 1, 2024
1 parent 5ed1708 commit 2e1befd
Show file tree
Hide file tree
Showing 7 changed files with 96 additions and 102 deletions.
31 changes: 25 additions & 6 deletions docs/browser/bb-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,14 +215,12 @@ If that phrase is found, then:
* You have already created a *Loop* App in the *App Store* with that incorrect `TEAMID`
* This is true if you completed the steps after running Action: `Add Identifiers` and before Action: `Create Certificates`
Follow these steps:
Click on this link to [Delete Identifiers](#delete-identifiers).
!!! tip "Open each link below in a separate tab"
It is best to open each link below in a separate tab so you can return to this list and keep using the links in each step.
- Delete all the other identifiers first, then try to delete the *Loop* identifier with the wrong <code>TEAMID</code>
- It is fine to just ignore identifiers with the wrong <code>TEAMID</code>, but do not use them
1. Delete all the identifiers that you can, following the steps in [Prepare Fork: Delete Identifiers](prepare-fork.md#delete-identifiers)
- Delete all the other identifiers first, then try to delete the *Loop* identifier with the wrong <code>TEAMID</code>
- It is fine to just ignore identifiers with the wrong <code>TEAMID</code>, but do not use them
#### Rerun Steps with correct TEAMID
1. Enter your `TEAMID` correctly in the repository `Secrets`
- Make sure you use copy and paste from your [Apple Developer Membership](https://developer.apple.com/account/#!/membership){: target="_blank" } page for that `TEAMID`.
Expand Down Expand Up @@ -659,3 +657,24 @@ A screen will appear with a lot of options - do **not** do anything on this scre
{align="center"}
You will not directly interact with your `Match-Secrets` repository.
### Delete Identifiers
The `Identifier` that is associated with the `Loop` identifier cannot be deleted if it is already in the *App Store* but all others can. If you attempt to delete the `XC` *Loop* identifier, you may be told it cannot be deleted because it is in use in the app store. That's OK. If a `Bundle ID` has ever been associated with an app in the *App Store*, you cannot delete the `Identifier`.
* Open this link: [Certificates, Identifiers & Profiles: Identifiers List](https://developer.apple.com/account/resources/identifiers/list){: target="_blank" } on the *Apple Developer* site.
* Use the graphic below as a guide to removing identifiers
* Keep repeating the steps until you've removed all the identifiers you can (or want to) delete
* It is OK to delete an identifier even if it does have your correct `TEAMID`
* If you try to delete the `Loop` identifier with your `TEAMID`, it will refuse, don't worry, just keep going
* Note - this graphic indicates where on this page you can find your `TEAMID`
* If you notice an identifier with a value embedded in it that does not have your `TEAMID`, then delete it if you can and [Update <code>Secrets</code>](bb-update.md#update-secrets){: target="_blank"} with your correct `TEAMID`
* If you try to delete a Loop identifier that does not have your `TEAMID`, but you already added to the *App Store*, it will refuse, don't worry, just keep going
* Delete all the other identifiers first that have the same incorrect `TEAMID` and then try to delete the Loop identifier with the incorrect `TEAMID`
![steps to delete a given identifier](img/delete-identifiers.svg){width="700"}
{align="center"}
If coming here because you enter the wrong `TEAMID` in `Secrets` - return to [Rerun Steps with Correct TEAMID](#rerun-steps-with-correct-teamid) when you've deleted as many identifiers as you can.
After you delete identifiers, you must add them back, configure them and create certificate before you can build again.
43 changes: 23 additions & 20 deletions docs/browser/build-yml.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,35 +29,38 @@ Refer to the graphic below for the first four steps:
{align="center"}

1. Wait a few minutes to make sure there is not an early failure
* If this action fails, head over to [Action: Build Loop Errors](bb-errors.md#action-build-loop-errors)
* Once you've resolved the error, it's a good idea to repeat all three steps in this order:
* [Add Identifiers](identifiers.md#add-identifiers)
* [Create Certificates](certs.md#create-certificates)
* Build Loop
1. If the process appears to be happening without an error, go do something else for a while. The build should take about 20-30 minutes.
1. You should get several emails
* one says the build succeeded (or failed)
* one says *TestFlight* is ready (typically half-hour after the build succeeds)
* Ignore the one that says you need to fix "issues" in your app
1. Your app should eventually appear on [`App Store Connect`](https://appstoreconnect.apple.com/apps){: target="_blank" }.

#### *Apple* Email to Ignore

You can ignore an email from *Apple* that there are things you must fix in your app:
!!! tip "Be Patient"
* Refresh the browser if you are unsure if the action started
* Do not start a new action until the first one completes

* There is no action you need to take - the developers will handle any updates that are required before it affects your ability to build the app
* Other warnings only address issues if you were selling the app in the app store, but it is for your own personal use
If the process appears to be happening without an error, go do something else for a while. The build should take about 20-30 minutes.

## Build Failed?
You should get several emails

Did you get a red X? Head over to the [Errors with Browser](bb-errors.md){: target="_blank" } to page find a solution.
* one says the build succeeded (or failed)
* one says *TestFlight* is ready (typically half-hour after the build succeeds)
* Ignore the one that says you need to fix "issues" in your app

## Successful Build
Your app should eventually appear on [`App Store Connect`](https://appstoreconnect.apple.com/apps){: target="_blank" }.

### Successful Build

**Congratulations**

If you get the green check mark, your app successfully built. Just a few more steps.

### *Apple* Email to Ignore

You can ignore an email from *Apple* that there are things you must fix in your app:

* There is no action you need to take - the developers will handle any updates that are required before it affects your ability to build the app
* Other warnings only address issues if you were selling the app in the app store, but it is for your own personal use

### Build Failed?

Did you get a red X? Head over to the [Errors with Browser](bb-errors.md){: target="_blank" } to page find a solution.

## Next Steps

If this is your first build, you need to configure your TestFlight Users
Expand All @@ -68,7 +71,7 @@ If this is a repeat build, wait up to an hour for your new build to appear in Te

* [Install on Phone](phone-install.md)

### Caregivers
## Caregivers

If you are a Caregiver who helps manage a loved-ones diabetes, you may use other open-source apps that can be built the same way:

Expand Down
22 changes: 16 additions & 6 deletions docs/browser/certs.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Create Certificate
## Overview

The instructions on this page are required to build your app intially. It ties information in you Match-Secrets private repository to your Apple information so that the build action works. After that, it only needs to be run again in a few cases.
The instructions on this page are required to build your app intially. This action ties information in your Match-Secrets private repository to your Apple information so that the build action works. Once successful that, it only needs to be run again in a few cases.

* When your certificates have expired (after one year) and you need to [Renew Certificates](bb-update.md#renew-certificate){:target="_blank"}
* When the developers have modified the Identifiers; this requires Create Certificates to be run after you successfully run Add Identifiers and update the new Identifiers
Expand Down Expand Up @@ -28,9 +28,19 @@ Refer to the graphic below for the numbered steps:
{align="center"}

1. Wait a minute or two for the action to finish
* If this action fails, head over to [Action: 3. Create Certificates Errors](bb-errors.md#action-create-certificates-errors){: target="_blank" }
* Once you've resolved the error, repeat the Actions [Add Identifiers](identifiers.md#add-identifiers){: target="_blank" } and then `Create Certificates`. (The <code>Add Identifiers</code> might not be required but it is fast and should be done as a matter of routine.)

## Next Step
!!! tip "Be Patient"
* Refresh the browser if you are unsure if the action started
* Do not start a new action until the first one completes

The next step is to [Build your *Loop* App](build-yml.md).
### Success

Once you see the green check mark by `Create Certificates`, the next step is to [Build your *Loop* App](build-yml.md).

### Failure

If this action fails, head over to the errors page. Review these links, identify and fix your error or ask for help.

* [Most Common Mistakes](bb-errors.md#most-common-mistakes){: target="_blank" }
* [Create Certificates Errors](bb-errors.md#action-create-certificates-errors){: target="_blank" }.
* [How to Ask for Help](bb-errors.md#help-with-errors){: target="_blank" }
4 changes: 4 additions & 0 deletions docs/browser/identifiers.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@ Refer to the graphic below for the numbered steps:
![add identifiers using github actions](img/action-02-add-identifiers.svg){width="700"}
{align="center"}

!!! tip "Be Patient"
* Refresh the browser if you are unsure if the action started
* Do not start a new action until the first one completes

The `Add Identifiers` &nbsp;<span class=notranslate>Action</span>&nbsp; should succeed or fail in a few minutes. Do not continue to the next step until this one succeeds.

* If you see the green check (:octicons-check-circle-fill-16:{: .passed }) continue to the next section
Expand Down
68 changes: 13 additions & 55 deletions docs/browser/prepare-fork.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
## Prepare your Repository
## Fork `LoopWorkspace`

### Fork LoopWorkspace
??? tip "Feeling confident? Planning to build more than one app? Click to see more."
If you are already feeling overwhelmed - skip this tip.

If you plan to build more that one app, you will making a fork of each repository associated with each app, and then you must add the 6 <code>Secrets</code> to each repository. It is not hard but it can get tiresome.

There is a way to enter the 6 <code>Secrets</code> only one time for all your repositories, but this requires setting up a free GitHub organization. This is also not hard, but it modifies some of displays you see on GitHub. If you are interested, refer to [Use a GitHub Organization Account](other-apps.md#use-a-github-organization-account){: target="_blank" }

??? abstract "Section Summary (click to open/close)"
Fork [https://github.com/LoopKit/LoopWorkspace](https://github.com/LoopKit/LoopWorkspace){: target="_blank" } into your account.
Expand Down Expand Up @@ -45,13 +50,6 @@ Carefully compare your screen to the graphic below paying attention to the highl

## Configure <code>Secrets</code>

??? abstract "Feeling confident? Planning to build more than one app? Click to see more."
If you are already feeling overwhelmed - skip this tip.

If you plan to build more that one app, you will making a fork of each repository associated with each app, and then you must add the 6 <code>Secrets</code> to each repository. It is not hard but it can get tiresome.

There is a way to enter the 6 <code>Secrets</code> only one time for all your repositories, but this requires setting up a free GitHub organization. This is also not hard, but it modifies some of displays you see on GitHub. If you are interested, refer to [Use a GitHub Organization Account](other-apps.md#use-a-github-organization-account){: target="_blank" }

??? abstract "Section Summary (click to open/close)"
These <code>Secrets</code> are the same for any repository for which you use `GitHub Browser Build`.

Expand All @@ -69,10 +67,6 @@ Carefully compare your screen to the graphic below paying attention to the highl

[<span class="loop-bigger">:material-skip-forward:</span>](identifiers.md#validate-secrets){: target="_blank" } To skip the detailed instructions, click on [Validate <code>Secrets</code>](identifiers.md#validate-secrets){: target="_blank" }.

!!! tip "`Branches` and `Repositories`"
* These &nbsp;<span class="notranslate">Secrets</span>&nbsp; are added to your `fork of LoopWorkspace` and work for any `branch` (`main` or `dev`, for example)
* These &nbsp;<span class="notranslate">Secrets</span>&nbsp; must be added, if desired, for [Other App](other-apps.md){: target="_blank" } `repositories`

### Prepare to Enter <code>Secrets</code>

Log into *GitHub*.
Expand Down Expand Up @@ -159,61 +153,25 @@ Once all six <code>Secrets</code> have been added to your <code>LoopWorkspace</c

The next step is to [Validate Secrets and Add Identifiers](identifiers.md).

## Extra Steps
## Already Have&nbsp;<span translate="no">LoopWorkspace</span>?

Most people won't need the information on the rest of this page.
Some people may already have a copy (`fork`) of <code>LoopWorkspace</code>.

### Already Have&nbsp;<span translate="no">LoopWorkspace</span>?
If your copy (`fork`) is **not** from `LoopKit`, follow the [Delete and Start Fresh](#delete-and-start-fresh) directions.

Some people may already have a copy of <code>LoopWorkspace</code>.

If your copy is **not** from `LoopKit`, follow the [Delete and Start Fresh](#delete-and-start-fresh) directions.

If your copy is from `LoopKit`:
If your copy (`fork`) is from `LoopKit`:

* Open your <code>LoopWorkspace</code> repository (`https://github.com/username/LoopWorkspace`) where you use your *GitHub* `username` in the URL
* Review the graphic in the [Configure: Successful Fork](#successful-fork) section
* Make sure all the items highlighted by red rectangles are correct with the possible exception of your fork being up to date
* If you see a message that your *fork* is not up to date - tap on the `Sync fork` button and follow the instructions
* Continue with [Create `GitHub Personal Access Token`](secrets.md#create-github-personal-access-token)
* Continue with [Validate Secrets and Add Identifiers](identifiers.md)

#### Delete and Start Fresh
### Delete and Start Fresh

If your fork is not from `LoopKit`:

* Delete your LoopWorkspace repository
* Instructions to delete a repository are found at [*GitHub* Docs](https://docs.github.com/en/repositories/creating-and-managing-repositories/deleting-a-repository){: target="_blank" }
* Return to [Fork LoopWorkspace](#fork-loopworkspace) and follow all the instructions

### Delete Identifiers

When you have already built the *Loop* app with *Xcode*, the Identifier names will not match the directions and you might have trouble deciding which ones to configure. Your existing `Loop` identifier will have a name that starts with `XC` as shown below, where your 10-digit `TEAMID` is used.

* `Name: XC com TEAMID loopkit Loop`
* `Identifier: com.TEAMID.loopkit.Loop`

The `Identifier` that is associated with the `Loop` identifier cannot be deleted if it is already in the *App Store* but all others can. If you attempt to delete the `XC` *Loop* identifier, you may be told it cannot be deleted because it is in use in the app store. That's OK. Same for other identifiers (if you build a bunch of Apps). If a `Bundle ID` has ever been associated with an app in the *App Store*, you cannot delete the `Identifier`.

To make it easy when configuring the identifiers, go through and delete as many as you can.

* Open this link: [Certificates, Identifiers & Profiles: Identifiers List](https://developer.apple.com/account/resources/identifiers/list){: target="_blank" } on the *Apple Developer* site.
* Use the graphic below as a guide to removing identifiers
* Keep repeating the steps until you've removed all the identifiers you can (or want to) delete
* It is OK to delete an identifier even if it does have your correct `TEAMID`
* If you try to delete the `Loop` identifier with your `TEAMID`, it will refuse, don't worry, just keep going
* Note - this graphic indicates where on this page you can find your `TEAMID`
* If you notice an identifier with a value embedded in it that does not have your `TEAMID`, then delete it if you can and [Update <code>Secrets</code>](bb-update.md#update-secrets) with your correct `TEAMID`
* If you try to delete a Loop identifier that does not have your `TEAMID`, but you already added to the *App Store*, it will refuse, don't worry, just keep going
* Delete all the other identifiers first that have the same incorrect `TEAMID` and then try to delete the Loop identifier with the incorrect `TEAMID`

![steps to delete a given identifier](img/delete-identifiers.svg){width="700"}
{align="center"}

If coming here from the Errors with Browser page because you enter the wrong `TEAMID` in `Secrets` - return to that page once you've deleted as many identifiers as you can: [Errors: Wrong TEAMID in Secrets](bb-errors.md#error-wrong-teamid-in-secrets).

If you were just trying to clean up the identifiers, then follow these steps:

* Run Action: [Add Identifiers](identifiers.md#add-identifiers){: target="_blank" } to add Identifiers with the documented short names
* If you did not complete the [Add `App Group` to Identifiers](prepare-app.md#add-app-group-to-identifiers){: target="_blank" }
* If you did not complete the [Create Loop App in App Store Connect](prepare-app.md#create-loop-app-in-app-store-connect) step, do it now
* Continue with [Create Certificates](certs.md#create-certificates){: target="_blank" } and then [Build the *Loop* App](build-yml.md#build-the-loop-app){: target="_blank" }
Loading

0 comments on commit 2e1befd

Please sign in to comment.