-
Notifications
You must be signed in to change notification settings - Fork 429
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
Nightly alpha builds #1996
Merged
Merged
Nightly alpha builds #1996
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
8717ece
Add a DuckDuckGo-Alpha scheme
graeme 9dcc941
Create alphaExportOptions.plist
graeme 11abc9a
Adds build_alpha to Fastfile
graeme 2bd566a
Update Matchfile to have correct lane modifier
graeme 865031e
Add the alpha GHA workflow
graeme d86299e
Pass version and app_identifier to increment_build_number
graeme a7c3b2d
Get API key for fetching version
graeme c8e1360
Skip waiting for build processing
graeme e83a6c7
Add deploy-alpha step to nightly.yml
graeme 2c075fb
Update README
graeme 45a0960
Fix dSym paths
graeme 63e149d
Fix build version reading
graeme 648cb27
Fix asana task
graeme 1bcd657
Fix workflow dispatch
graeme cf6ffc1
Remove unneeded condition
graeme 73cc79c
Make code merge-ready (won't trigger build)
graeme 19597fd
Handle nightly workflow_call properly
graeme 2e6c937
Pass secrets from nightly
graeme e9603b6
Schedule nighty on push just for testing
graeme b9e25bb
Comment out branch assert
graeme 22cca85
Update nightly name
graeme 50caa67
Remove pull trigger etc added for testing
graeme 32de4fa
Fix inputs for nightly job
graeme fbdf91c
Revert "Remove pull trigger etc added for testing"
graeme 26b6ce7
Use env for destination
graeme 66bff49
But like... do it properly this time
graeme 2a721cd
Save my VS Code changes...
graeme 7b1bbba
Revert "Revert "Remove pull trigger etc added for testing""
graeme d5ff780
Merge remote-tracking branch 'origin/develop' into graeme/ios-nightly…
graeme File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
name: Make TestFlight Alpha Build | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
destination: | ||
description: "TestFlight Group" | ||
required: true | ||
default: "Latest Alpha Group" | ||
type: string | ||
workflow_call: | ||
inputs: | ||
destination: | ||
description: "TestFlight Group" | ||
required: true | ||
default: "Latest Alpha Group" | ||
type: string | ||
secrets: | ||
SSH_PRIVATE_KEY_FASTLANE_MATCH: | ||
required: true | ||
APPLE_API_KEY_BASE64: | ||
required: true | ||
APPLE_API_KEY_ID: | ||
required: true | ||
APPLE_API_KEY_ISSUER: | ||
required: true | ||
MATCH_PASSWORD: | ||
required: true | ||
ASANA_ACCESS_TOKEN: | ||
required: true | ||
|
||
jobs: | ||
make-alpha: | ||
runs-on: macos-13 | ||
name: Make TestFlight Alpha Build | ||
|
||
env: | ||
destination: ${{ github.event.inputs.destination || inputs.destination }} | ||
|
||
steps: | ||
|
||
- name: Assert develop branch | ||
run: | | ||
case "${{ github.ref }}" in | ||
*develop/*) ;; | ||
*) echo "👎 Not develop branch"; exit 1 ;; | ||
esac | ||
|
||
- name: Register SSH keys for access to certificates | ||
uses: webfactory/[email protected] | ||
with: | ||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY_FASTLANE_MATCH }} | ||
|
||
- name: Check out the code | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Set cache key hash | ||
run: | | ||
has_only_tags=$(jq '[ .object.pins[].state | has("version") ] | all' DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved) | ||
if [[ "$has_only_tags" == "true" ]]; then | ||
echo "cache_key_hash=${{ hashFiles('DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}" >> $GITHUB_ENV | ||
else | ||
echo "Package.resolved contains dependencies specified by branch or commit, skipping cache." | ||
fi | ||
|
||
- name: Cache SPM | ||
if: env.cache_key_hash | ||
uses: actions/cache@v3 | ||
with: | ||
path: DerivedData/SourcePackages | ||
key: ${{ runner.os }}-spm-${{ env.cache_key_hash }} | ||
restore-keys: | | ||
${{ runner.os }}-spm- | ||
|
||
- name: Select Xcode | ||
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer | ||
|
||
- name: Prepare fastlane | ||
run: bundle install | ||
|
||
- name: Archive and upload the app | ||
env: | ||
APPLE_API_KEY_BASE64: ${{ secrets.APPLE_API_KEY_BASE64 }} | ||
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }} | ||
APPLE_API_KEY_ISSUER: ${{ secrets.APPLE_API_KEY_ISSUER }} | ||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | ||
run: | | ||
app_version="$(cut -d ' ' -f 3 < Configuration/Version.xcconfig)" | ||
bundle exec fastlane increment_build_number_for_version version:$app_version app_identifier:"com.duckduckgo.mobile.ios.alpha" | ||
bundle exec fastlane release_alpha groups:"${{ env.destination }}" | ||
build_version="$(xcodebuild -configuration Alpha -showBuildSettings | grep CURRENT_PROJECT_VERSION | tr -d 'CURRENT_PROJECT_VERSION =')" | ||
echo "dsyms_path=${{ github.workspace }}/DuckDuckGo-Alpha.app.dSYM.zip" >> $GITHUB_ENV | ||
echo "app_version=${app_version}" >> $GITHUB_ENV | ||
echo "build_version=${build_version}" >> $GITHUB_ENV | ||
|
||
- name: Upload dSYMs artifact | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: DuckDuckGo-Alpha-dSYM-${{ env.app_version }} | ||
path: ${{ env.dsyms_path }} | ||
|
||
- name: Upload debug symbols to Asana | ||
env: | ||
ASANA_ACCESS_TOKEN: ${{ secrets.ASANA_ACCESS_TOKEN }} | ||
run: | | ||
asana_dsyms_path="${{ github.workspace }}/DuckDuckGo-Alpha-${{ env.app_version }}(${{ env.build_version }})-dSYM.zip" | ||
mv -f "${{ env.dsyms_path }}" "$asana_dsyms_path" | ||
|
||
curl -s "https://app.asana.com/api/1.0/tasks/1205344386326139/attachments" \ | ||
-H "Authorization: Bearer ${{ secrets.ASANA_ACCESS_TOKEN }}" \ | ||
--form "file=@${asana_dsyms_path};type=application/zip" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
77 changes: 77 additions & 0 deletions
77
DuckDuckGo.xcodeproj/xcshareddata/xcschemes/DuckDuckGo-Alpha.xcscheme
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<Scheme | ||
LastUpgradeVersion = "1430" | ||
version = "1.7"> | ||
<BuildAction | ||
parallelizeBuildables = "YES" | ||
buildImplicitDependencies = "YES"> | ||
<BuildActionEntries> | ||
<BuildActionEntry | ||
buildForTesting = "YES" | ||
buildForRunning = "YES" | ||
buildForProfiling = "YES" | ||
buildForArchiving = "YES" | ||
buildForAnalyzing = "YES"> | ||
<BuildableReference | ||
BuildableIdentifier = "primary" | ||
BlueprintIdentifier = "84E341911E2F7EFB00BDBA6F" | ||
BuildableName = "DuckDuckGo.app" | ||
BlueprintName = "DuckDuckGo" | ||
ReferencedContainer = "container:DuckDuckGo.xcodeproj"> | ||
</BuildableReference> | ||
</BuildActionEntry> | ||
</BuildActionEntries> | ||
</BuildAction> | ||
<TestAction | ||
buildConfiguration = "Debug" | ||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||
shouldUseLaunchSchemeArgsEnv = "YES" | ||
shouldAutocreateTestPlan = "YES"> | ||
</TestAction> | ||
<LaunchAction | ||
buildConfiguration = "Debug" | ||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||
launchStyle = "0" | ||
useCustomWorkingDirectory = "NO" | ||
ignoresPersistentStateOnLaunch = "NO" | ||
debugDocumentVersioning = "YES" | ||
debugServiceExtension = "internal" | ||
allowLocationSimulation = "YES"> | ||
<BuildableProductRunnable | ||
runnableDebuggingMode = "0"> | ||
<BuildableReference | ||
BuildableIdentifier = "primary" | ||
BlueprintIdentifier = "84E341911E2F7EFB00BDBA6F" | ||
BuildableName = "DuckDuckGo.app" | ||
BlueprintName = "DuckDuckGo" | ||
ReferencedContainer = "container:DuckDuckGo.xcodeproj"> | ||
</BuildableReference> | ||
</BuildableProductRunnable> | ||
</LaunchAction> | ||
<ProfileAction | ||
buildConfiguration = "Alpha" | ||
shouldUseLaunchSchemeArgsEnv = "YES" | ||
savedToolIdentifier = "" | ||
useCustomWorkingDirectory = "NO" | ||
debugDocumentVersioning = "YES"> | ||
<BuildableProductRunnable | ||
runnableDebuggingMode = "0"> | ||
<BuildableReference | ||
BuildableIdentifier = "primary" | ||
BlueprintIdentifier = "84E341911E2F7EFB00BDBA6F" | ||
BuildableName = "DuckDuckGo.app" | ||
BlueprintName = "DuckDuckGo" | ||
ReferencedContainer = "container:DuckDuckGo.xcodeproj"> | ||
</BuildableReference> | ||
</BuildableProductRunnable> | ||
</ProfileAction> | ||
<AnalyzeAction | ||
buildConfiguration = "Alpha"> | ||
</AnalyzeAction> | ||
<ArchiveAction | ||
buildConfiguration = "Alpha" | ||
revealArchiveInOrganizer = "YES"> | ||
</ArchiveAction> | ||
</Scheme> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>teamID</key> | ||
<string>HKE973VLUW</string> | ||
<key>method</key> | ||
<string>app-store</string> | ||
<key>provisioningProfiles</key> | ||
<dict> | ||
<key>com.duckduckgo.mobile.ios.alpha</key> | ||
<string>match AppStore com.duckduckgo.mobile.ios.alpha</string> | ||
<key>com.duckduckgo.mobile.ios.alpha.ShareExtension</key> | ||
<string>match AppStore com.duckduckgo.mobile.ios.alpha.ShareExtension</string> | ||
<key>com.duckduckgo.mobile.ios.alpha.OpenAction2</key> | ||
<string>match AppStore com.duckduckgo.mobile.ios.alpha.OpenAction2</string> | ||
<key>com.duckduckgo.mobile.ios.alpha.Widgets</key> | ||
<string>match AppStore com.duckduckgo.mobile.ios.alpha.Widgets</string> | ||
<key>com.duckduckgo.mobile.ios.alpha.NetworkExtension</key> | ||
<string>match AppStore com.duckduckgo.mobile.ios.alpha.NetworkExtension</string> | ||
</dict> | ||
</dict> | ||
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this work? :) I think alpha.yml would need a
workflow_call
trigger set up in order to be called from another workflow. Currently it only hasworkflow_dispatch
which is not quite the same (this one is used for running workflows manually).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah okay, good to know! Will update that.
Related: wasn’t sure how to test nightly workflows from a branch...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed! (I think)