Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add discrete install provisioning profile task #5

Merged
merged 1 commit into from
Mar 14, 2023

Conversation

Larusso
Copy link
Member

@Larusso Larusso commented Mar 14, 2023

Description

We use fastlane at the moment to import provisional and install provisioning profiles. The install part is indirect because fastlane itself does it for us under the hood. This worked for us very well over the years. But there is no real chance to install profiles in any other way. Hence a discrete install profile task.

To be able to install provisioning profiles one needs to be able to read the UUID out of the included meta data. The reason is that all profiles are stored on the system with the UUID as the file name. I created a new helper class + test mock class to read provisioning profiles and fetch the metadata from them. A profile consists of 3 pieces:

  1. A header (some bytes long) I have no information what information is stored there
  2. The meta data in plist format
  3. a series of certificates (unknown format)

We are mainly interested in the meta data.

I removed the import provisioning profiles task from the direct task dependency list. Instead the new task installProvisioningProfiles will be used in it's place. This new task will have a dependency (indirect) to the importProvisioningProfiles task. This means that one could reconfigure the importProvisioningProfiles tasks and skip the fastlane backed task importProvisioningProfiles all together.

This is needed for out new alternative flow where we store the profiles in the aws secrets manager.

Changes

  • ADD InstallProvisioningProfiles task type

@Larusso Larusso force-pushed the add/install_provisioning_profile_task branch 3 times, most recently from 5bca434 to 66bee73 Compare March 14, 2023 13:07
Description
===========

We use fastlane at the moment to import provisional and install provisioning profiles.
The install part is indirect because fastlane itself does it for us under the hood.
This worked for us very well over the years. But there is no real chance to install
profiles in any other way. Hence a discrete install profile task.

To be able to install provisioning profiles one needs to be able to read the UUID out
of the included meta data. The reason is that all profiles are stored on the system
with the UUID as the file name. I created a new helper class + test mock class to
read provisioning profiles and fetch the metadata from them.
A profile consists of 3 pieces:

1. A header (some bytes long) I have no information what information is stored there
2. The meta data in plist format
3. a series of certificates (unknown format)

We are mainly interested in the meta data.

I removed the import provisioning profiles task from the direct task dependency list.
Instead the new task `installProvisioningProfiles` will be used in it's place. This new task will
have a dependency (_indirect_) to the `importProvisioningProfiles` task. This means that one
could reconfigure the `importProvisioningProfiles` tasks and skip the fastlane backed task `importProvisioningProfiles` all together.

This is needed for out new alternative flow where we store the profiles in the aws secrets manager.

Changes
=======

* ![ADD] `InstallProvisioningProfiles` task type
@Larusso Larusso force-pushed the add/install_provisioning_profile_task branch from 66bee73 to cf1445b Compare March 14, 2023 15:17
@Larusso Larusso merged commit 24f3279 into master Mar 14, 2023
@Larusso Larusso deleted the add/install_provisioning_profile_task branch March 14, 2023 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant