Skip to content

Commit 003d9f7

Browse files
authored
Build documentation updates (#103)
* Docs update * Remove residual Airtable references
1 parent 4926f7f commit 003d9f7

File tree

2 files changed

+14
-19
lines changed

2 files changed

+14
-19
lines changed

.github/workflows/build-release.yaml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ jobs:
2222
env:
2323
CLOUDINARY_CLOUD_NAME: ${{ secrets.CLOUDINARY_CLOUD_NAME }}
2424
CLOUDINARY_UPLOAD_PRESET_NAME: ${{ secrets.CLOUDINARY_UPLOAD_PRESET_NAME }}
25-
TEST_AIRTABLE_API_KEY: ${{ secrets.TEST_AIRTABLE_API_KEY }}
26-
TEST_AIRTABLE_BASE_ID: ${{ secrets.TEST_AIRTABLE_BASE_ID }}
27-
TEST_AIRTABLE_TABLE_NAME_PREFIX: ${{ secrets.TEST_AIRTABLE_TABLE_NAME_PREFIX }}
2825
PROTECT_EARTH_API_TOKEN: ${{ secrets.PROTECT_EARTH_API_TOKEN }}
2926
PROTECT_EARTH_API_BASE_URL: ${{ secrets.PROTECT_EARTH_API_BASE_URL }}
3027
PROTECT_EARTH_ENV_NAME: ${{ secrets.PROTECT_EARTH_ENV_NAME }}
@@ -56,9 +53,6 @@ jobs:
5653
env:
5754
CLOUDINARY_CLOUD_NAME: ${{ secrets.CLOUDINARY_CLOUD_NAME }}
5855
CLOUDINARY_UPLOAD_PRESET_NAME: ${{ secrets.CLOUDINARY_UPLOAD_PRESET_NAME }}
59-
TEST_AIRTABLE_API_KEY: ${{ secrets.TEST_AIRTABLE_API_KEY }}
60-
TEST_AIRTABLE_BASE_ID: ${{ secrets.TEST_AIRTABLE_BASE_ID }}
61-
TEST_AIRTABLE_TABLE_NAME_PREFIX: ${{ secrets.TEST_AIRTABLE_TABLE_NAME_PREFIX }}
6256
PROTECT_EARTH_API_TOKEN: ${{ secrets.PROTECT_EARTH_API_TOKEN }}
6357
PROTECT_EARTH_API_BASE_URL: ${{ secrets.PROTECT_EARTH_API_BASE_URL }}
6458
PROTECT_EARTH_ENV_NAME: ${{ secrets.PROTECT_EARTH_ENV_NAME }}
@@ -128,9 +122,6 @@ jobs:
128122
env:
129123
CLOUDINARY_CLOUD_NAME: ${{ secrets.CLOUDINARY_CLOUD_NAME }}
130124
CLOUDINARY_UPLOAD_PRESET_NAME: ${{ secrets.CLOUDINARY_UPLOAD_PRESET_NAME }}
131-
TEST_AIRTABLE_API_KEY: ${{ secrets.TEST_AIRTABLE_API_KEY }}
132-
TEST_AIRTABLE_BASE_ID: ${{ secrets.TEST_AIRTABLE_BASE_ID }}
133-
TEST_AIRTABLE_TABLE_NAME_PREFIX: ${{ secrets.TEST_AIRTABLE_TABLE_NAME_PREFIX }}
134125
PROTECT_EARTH_API_TOKEN: ${{ secrets.PROTECT_EARTH_API_TOKEN }}
135126
PROTECT_EARTH_API_BASE_URL: ${{ secrets.PROTECT_EARTH_API_BASE_URL }}
136127
PROTECT_EARTH_ENV_NAME: ${{ secrets.PROTECT_EARTH_ENV_NAME }}

CICD.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ CI/CD for Tree Tracker has been configured with GitHub Actions to allow new buil
33

44
## Workflow
55

6-
The GitHub Actions workflow is located in `.github/workflows/build-release.yaml` and will trigger on any push or pull request for the repository. If the triggering event is a merge to `main`, the resulting application will also be published to TestFlight. Unit tests are executed early on in the workflow, which will exit if these do not pass.
6+
The GitHub Actions workflow is located in `.github/workflows/build-release.yaml` and will trigger on any push or pull request for the repository. If the triggering event is a merge to `main` AND it is not a pull request (i.e. a validation build as part of PR review), the resulting application will also be published to TestFlight. Unit tests are executed early on in the workflow, which will exit if these do not pass.
77

88
## Pre-requisites
99

@@ -12,26 +12,30 @@ In order for the workflow to run successfully, repository secrets must be config
1212
To add these, navigate to _Settings > Security > Secrets > Actions_ and add the following as repository secrets with the appropriate values:
1313

1414
```
15-
AIRTABLE_API_KEY
16-
AIRTABLE_BASE_ID
17-
AIRTABLE_TREES_TABLE_NAME
18-
AIRTABLE_SPECIES_TABLE_NAME
19-
AIRTABLE_SUPERVISORS_TABLE_NAME
20-
AIRTABLE_SITES_TABLE_NAME
2115
CLOUDINARY_CLOUD_NAME
2216
CLOUDINARY_UPLOAD_PRESET_NAME
17+
PROTECT_EARTH_API_TOKEN
18+
PROTECT_EARTH_API_BASE_URL
19+
PROTECT_EARTH_ENV_NAME
20+
ROLLBAR_AUTH_TOKEN
2321
```
2422

25-
Finally, additional secrets must be configured to store the details required for signing and publishing the app to the AppStore. Add the following secrets in the same way as before, with the appropriate values:
23+
Finally, additional secrets must be configured to store the details required for signing and publishing the app to the AppStore. Add the following secrets in the same way as before, with the appropriate values. Note that `KEYCHAIN_PASSWORD` can be any random string. It is used to secure the temporary keychain created during the build process, and is not referenced anywhere outside of the build.
2624

2725
```
2826
PROVISIONING_PROFILE_BASE64
2927
DISTRIBUTION_CERT_BASE64
28+
DISTRIBUTION_CERT_PASSWORD
29+
KEYCHAIN_PASSWORD
3030
APPLE_APPLE_ID
3131
APPLE_APP_SPECIFIC_PASSWORD
3232
```
3333

34-
The provisioning profile used is currently _iOS App Store Distribution Profile 20220213_, which may be downloaded from AppStore Connect. Both files should be encoded to base64 via the following command line:
34+
The provisioning profile used is currently _iOS AppStore Profile 07Mar2023_, which may be downloaded from AppStore Connect. Signing certificates may be managed in XCode and exported from there as a `.p12` file. See https://help.apple.com/xcode/mac/current/#/dev154b28f09 for instructions.
35+
36+
> **_NOTE:_** A new provisioning profile will need to be created annually since both the profile and the signing certificate it references expire after 1 year.
37+
38+
Both files should be encoded to base64 via the following command line:
3539

3640
`cat <path/to/file> | base64`
3741

@@ -43,4 +47,4 @@ The App Specific Password is essentially an additional password which you can us
4347

4448
## TestFlight notes
4549

46-
The build number of the app is set to the run number of the workflow using `agvtool`. Updates to the release number should be made manually via a PR. Once published, compliance requirements will need to be accepted manually in TestFlight, and the appropriate tester groups will need to be added in order to get access to the latest build.
50+
The build number of the app is set to the run number of the workflow using `agvtool`. Updates to the release number (_marketing version_) should be made manually via `agvtool new-marketing-version` and committed via a PR. Once published, the appropriate tester groups will need to be added in order to get access to the latest build.

0 commit comments

Comments
 (0)