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

Fix PacketTunnelProvider embedding for Alpha builds #1932

Merged

Conversation

graeme
Copy link
Contributor

@graeme graeme commented Aug 22, 2023

Task/Issue URL: https://app.asana.com/0/0/1205324333927521/f

Description:

On trying to distribute NetP through the Alpha channel, the build were being rejected by App Store Connect as their was an invalid file containing the word app. This turned out to be because the simple cp -r I was doing to move the extension was in fact not moving the extension for Archive builds, but an alias.

I had another look at the build output of Xcode’s Embed App Extensions Build Phase which uses an Xcode-internal tool builtin-copy. rsync achieves the same result and has broadly the same options. The --copy-links option is needed to resolve symlinked .appex bundles.

Edit:

This is now stacked on #1934 as its update of the provisioning profiles requires the update of Alpha entitlements

Steps to test this PR:

  1. Check out the repo
  2. Change the Archive scheme to Alpha
  3. Run Product -> Archive
  4. When the archive appears in the Organizer window, check the contents of the Archive then go to Products/Applications/DuckDuckGo/PlugIns and ensure the PacketTunnelProvider.appex is an actual bundle and not an alias.

Copy Testing:

  • Use of correct apostrophes in new copy, ie rather than

Orientation Testing:

  • Portrait
  • Landscape

Device Testing:

  • iPhone SE (1st Gen)
  • iPhone 8
  • iPhone X
  • iPhone 14 Pro
  • iPad

OS Testing:

  • iOS 14
  • iOS 15
  • iOS 16

Theme Testing:

  • Light theme
  • Dark theme

Internal references:

Software Engineering Expectations
Technical Design Template

@graeme graeme requested a review from samsymons August 22, 2023 15:56
Copy link
Contributor

@samsymons samsymons left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the embed step is failing for regular builds - CI stopped at the embed step, and I see the same thing locally when deploying to a physical device.

@graeme
Copy link
Contributor Author

graeme commented Aug 23, 2023

Oh that’s weird, I could have sworn I tested this….

@graeme
Copy link
Contributor Author

graeme commented Aug 23, 2023

I see… it was working, then I tested a change to it to test out my stackoverflow answer… then I didn’t revert properly. Oops! Fixed it now I think...

@graeme graeme requested a review from samsymons August 23, 2023 14:57
@samsymons samsymons assigned samsymons and unassigned graeme Aug 23, 2023
@graeme graeme changed the base branch from develop to graeme/add-alpha-app-groups August 23, 2023 15:28
Base automatically changed from graeme/add-alpha-app-groups to develop August 23, 2023 15:33
Copy link
Contributor

@samsymons samsymons left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Tested regular builds and archives, and archiving the Alpha configuration. Confirmed that the Alpha build contains the packet tunnel provider (and that it looks legit), and that the regular release archive does not.

@samsymons samsymons assigned graeme and unassigned samsymons Aug 23, 2023
@graeme graeme merged commit b97241f into develop Aug 23, 2023
17 checks passed
@graeme graeme deleted the graeme/fix-packet-tunnel-provider-embed-for-release-builds branch August 23, 2023 15:59
samsymons added a commit that referenced this pull request Aug 24, 2023
* develop: (84 commits)
  Improve Sync-related database cleaning logic (#1933)
  Fix PacketTunnelProvider embedding for Alpha builds (#1932)
  Add alpha specific app groups (#1934)
  Replaces useSystemKeychain with keychain type (#1928)
  Add Commit hook install script (#1845)
  Run checks on all PRs (#1929)
  extend valid urls to include IPv6 (#1919)
  Status view error UI (#1915)
  NetP Design Review minus errors (#1923)
  Add a GHA job to build the app in release configuration (#1848)
  Release 7.85.0 (#1926)
  Update WireGuard version (#1918)
  BSK Hotfix 74.0.1-1 (#1924)
  Post merge PR check (#1920)
  Autofill letter icons for macOS (#1911)
  Alpha build readiness (#1913)
  bump C-S-S to 4.32.0 (#1914)
  Update NetP endpoint (#1905)
  Network Protection debug menu (#1910)
  Add support for syncing Credentials (#1844)
  ...
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.

2 participants