Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
600 commits
Select commit Hold shift + click to select a range
5867133
Reworking of image cache debug screen (#1831)
amddg44 Aug 31, 2023
12df918
MacOS lock autofill form filling (#1962)
afterxleep Sep 1, 2023
2fe71d1
Integrates some of the latest BSK changes (#1967)
diegoreymendez Sep 3, 2023
ec10be2
Remove incremental test pixel (#1970)
samsymons Sep 4, 2023
aa77fa5
Rename secureVaultIsEnabledCheckedWhenEnabledAndBackgrounded pixel (#…
ayoy Sep 4, 2023
312c086
Fixes issue with password saving when using Bitwarden (#1969)
afterxleep Sep 4, 2023
1a4243c
fix makeUserScripts: @MainActor call under Xcode 15 (#1972)
mallexxx Sep 4, 2023
7307fd9
Release 7.88.0 (#1974)
bwaresiak Sep 4, 2023
62d73a4
Merge branch 'release/7.88.0'
bwaresiak Sep 4, 2023
219159b
Merge tag '7.88.0' into develop
bwaresiak Sep 4, 2023
01ff769
add creation and modified dates to the keychain debug screen (#1973)
brindy Sep 4, 2023
110cb4d
Update post merge failed task description (#1976)
Bunn Sep 5, 2023
c3ede72
Settings Sync Provider with support for syncing Email Protection (#1963)
ayoy Sep 5, 2023
bd1995e
NetP now clears the auth token in the extension + small bug fix. (#1975)
diegoreymendez Sep 5, 2023
be8e391
Autofill fix for edge case crash when tapping on search bar (#1617)
amddg44 Sep 6, 2023
b2e8d10
PacketTunnelProvider crash debug buttons (#1978)
graeme Sep 6, 2023
3b48fea
Report failed unit tests to Asana (#1979)
ayoy Sep 6, 2023
bb92e7d
remove lock screen widget pixels (#1980)
brindy Sep 7, 2023
f2962f8
Disable NetP connection tester to investigate terminations (#1981)
graeme Sep 7, 2023
2a4d82b
Autoconsent: Update iOS browser to Autoconsent 6.0.0 (#1983)
miasma13 Sep 7, 2023
ee1262d
Update Delegate Signature (#1939)
afterxleep Sep 7, 2023
f115b40
Update copy in Sync Settings WIP view to mention Email Protection syn…
ayoy Sep 7, 2023
c4788ef
Release 7.88.1 (#2001)
amddg44 Sep 11, 2023
cf70add
Merge branch 'hotfix/7.88.1'
amddg44 Sep 11, 2023
7eb7617
Merge tag '7.88.1' into develop
amddg44 Sep 11, 2023
4fe5203
Update Login details auth state check to be in line with the main Log…
amddg44 Sep 11, 2023
f0990af
Prevent Autofill autoprompt triggering in preview tabs (#1986)
amddg44 Sep 11, 2023
0c93248
Fix iOS 17 widget view (#1998)
samsymons Sep 11, 2023
178157a
Optimizing the logins list screen (#1982)
amddg44 Sep 11, 2023
d7f6c65
Release 7.89.0 (#2004)
amddg44 Sep 12, 2023
525afda
Merge branch 'release/7.89.0'
amddg44 Sep 12, 2023
d90c3e4
Merge tag '7.89.0' into develop
amddg44 Sep 12, 2023
b40d751
Updates BSK to 77.3.1
diegoreymendez Sep 12, 2023
b236146
Revert "Updates BSK to 77.3.1"
diegoreymendez Sep 12, 2023
15fefd2
Updates BSK version and fixes a tester issue in iOS (#2003)
diegoreymendez Sep 12, 2023
ef01bfd
Increase test timeout (#1951)
miasma13 Sep 13, 2023
de51a97
String NSRange helpers (#1989)
mallexxx Sep 14, 2023
f4597a5
Switch Sync environment to production (#2009)
ayoy Sep 14, 2023
a73fbac
Upload dSYM to Asana even if the release workflow fails after buildin…
ayoy Sep 14, 2023
f4a3db0
Use Development environment for Sync by default in Debug builds (#2013)
ayoy Sep 14, 2023
1d58992
Clean up login titles at insert and update + migration (#1984)
afterxleep Sep 15, 2023
0e95736
return user measurement (#2011)
brindy Sep 15, 2023
2ff12f2
Improve cleanup of observations.db (#2010)
amddg44 Sep 18, 2023
d5ea72b
Autofill iOS de-duplication of prompted logins (#1995)
amddg44 Sep 18, 2023
baa3d98
Add dry-run feature flag to test incremental rollouts on iOS (#2008)
amddg44 Sep 18, 2023
02a9f5e
Release 7.90.0 (#2017)
miasma13 Sep 18, 2023
ea8b782
Merge branch 'release/7.90.0'
miasma13 Sep 18, 2023
50463f5
Merge tag '7.90.0' into develop
miasma13 Sep 18, 2023
8f256c3
remove set as default statistics (#2018)
brindy Sep 19, 2023
60689d5
Update Fire Button ref tests (#1987)
bwaresiak Sep 20, 2023
52db6db
Update BSK with autofill 8.3.0 (#2020)
daxmobile Sep 20, 2023
92dfd88
Increase timeouts on autoconsent tests (#2025)
miasma13 Sep 20, 2023
c0c5da5
Integrates the latest BSK changes (#2016)
diegoreymendez Sep 20, 2023
945ede0
Update BSK with autofill 8.4.0 (#2024)
daxmobile Sep 20, 2023
49b8804
iOS always on (#1988)
diegoreymendez Sep 20, 2023
4cefc6c
Initial privacy manifest (#1936)
SlayterDev Sep 20, 2023
af47959
Nightly alpha builds (#1996)
graeme Sep 20, 2023
f1d87ac
Fix nightly alpha branch check (#2028)
graeme Sep 21, 2023
7f7eb32
allow delete from edit screen (#2005)
brindy Sep 21, 2023
3f455ec
Network Protection Error Pixels (#2019)
graeme Sep 21, 2023
ca88fdc
NetP feature usage pixels (#2027)
graeme Sep 21, 2023
ef3337f
Adds file contents preview to the File Size Inspector debug screens (…
amddg44 Sep 22, 2023
89fc56b
Replace Autofill background access check with protected data check (#…
amddg44 Sep 22, 2023
6c76d66
Log user out of Sync when SyncOperation receives a HTTP 401 (#2031)
ayoy Sep 22, 2023
ae9e3f4
Fix some issues with NetP pixels (#2033)
graeme Sep 22, 2023
7e4f696
Add run attempt to WORKFLOW_URL for reporting failed tests (#2034)
ayoy Sep 23, 2023
0d95a02
Update reference test site URL (#2012)
bwaresiak Sep 25, 2023
9aeb889
Send failed compilations pixel if needed (#2014)
jaceklyp Sep 25, 2023
b847336
Hotfix 7.90.1 (#2039)
samsymons Sep 26, 2023
56e861d
Merge tag '7.90.1' into develop
samsymons Sep 26, 2023
7691228
Fix URL deeplink (#2035)
Bunn Sep 26, 2023
decefae
Enabled always-on by default (#2043)
diegoreymendez Sep 26, 2023
dc15e7a
Fix for WebCacheManager crash (#2042)
amddg44 Sep 26, 2023
6b5b394
Fix iOS 15 crash on remote messaging (#2041)
Bunn Sep 26, 2023
39adc19
Update package resolved
jaceklyp Sep 26, 2023
f8fc13a
Release 7.91.0 (#2044)
jaceklyp Sep 26, 2023
08c525a
Merge branch 'release/7.91.0'
jaceklyp Sep 26, 2023
d584f11
Merge tag '7.91.0' into develop
jaceklyp Sep 26, 2023
60ecf65
Pass testflight alpha group as an array to fastlane (#2030)
graeme Sep 27, 2023
4154a6f
Update BSK with autofill 8.4.1 (#2048)
daxmobile Sep 28, 2023
0c68606
Improve Asana integration for failed PR checks (#2036)
ayoy Sep 28, 2023
c1faf55
Release 7.91.0 (#2051)
jaceklyp Sep 28, 2023
281d7ef
Merge branch 'coldfix/7.91.0'
jaceklyp Sep 28, 2023
ef619c6
Merge tag '7.91.0' into develop
jaceklyp Sep 28, 2023
e60ac12
NetP test & interruption notifications (#2047)
graeme Sep 28, 2023
76db01b
Update CrashCollection to return the crash metric app version (#2046)
samsymons Sep 28, 2023
9028834
Fix linting issues after CI SwiftLint update (#2055)
graeme Sep 29, 2023
22caef3
Open NetP status view from notifications (#2053)
graeme Sep 30, 2023
3c0bd51
Remove duplicate NetP notifications (#2057)
graeme Sep 30, 2023
11167cf
Do not crash on empty string in Crypter (#2059)
bwaresiak Oct 2, 2023
48ab254
extract main view controller segues into extension (#2045)
brindy Oct 2, 2023
af63361
Fix email deeplink (#2061)
Bunn Oct 2, 2023
b0829b6
Only target main frame navigations for link tracking (#2052)
SlayterDev Oct 2, 2023
d57858d
Release 7.91.1 (#2062)
jaceklyp Oct 2, 2023
a63b107
Merge branch 'hotfix/7.91.1'
jaceklyp Oct 2, 2023
1c5863f
Merge tag '7.91.1' into develop
jaceklyp Oct 2, 2023
02783fc
remove main view controller storyboard (#2058)
brindy Oct 3, 2023
65ab726
Pin Swiftlint to 0.53.0 (#2063)
samsymons Oct 3, 2023
9ec80b6
Implement config changes to UA (#2037)
jaceklyp Oct 3, 2023
d796090
Fix swiftlint issues
jaceklyp Oct 3, 2023
4dfcd2f
Release 7.92.0 (#2065)
jaceklyp Oct 3, 2023
199e701
Merge branch 'release/7.92.0'
jaceklyp Oct 3, 2023
04f5078
Merge tag '7.92.0' into develop
jaceklyp Oct 3, 2023
4a45afd
Minor Autofill UI updates (#2021)
amddg44 Oct 4, 2023
dd7397a
Fix rotated NetP error image (#2069)
samsymons Oct 5, 2023
e12d1b5
Localize the PacketTunnelProvider strings (#2054)
graeme Oct 5, 2023
bddfc05
Migrate unit tests workflow to M1 runner (#2070)
samsymons Oct 5, 2023
873fb58
NetP connection notifications improvements (#2073)
graeme Oct 6, 2023
bd2ec13
Release 7.92.0 (#2076)
jaceklyp Oct 6, 2023
a8d9c5c
Merge branch 'coldfix/7.92.0'
jaceklyp Oct 6, 2023
040f66d
Merge tag '7.92.0' into develop
jaceklyp Oct 6, 2023
495985d
Removes iOS phased rollout dry run pixel (#2064)
amddg44 Oct 8, 2023
325d8cc
Add parameter to multiple Autofill pixels (#2032)
amddg44 Oct 8, 2023
24bab7e
Add missed strings for NetP notifications (#2080)
graeme Oct 9, 2023
56ef3bc
fix ui corruption after adding pass to wallet (#2081)
brindy Oct 10, 2023
116234d
Release 7.93.0 (#2082)
graeme Oct 10, 2023
c9afbea
Merge branch 'release/7.93.0'
graeme Oct 10, 2023
893804a
Merge branch 'release/7.93.0' into develop
graeme Oct 10, 2023
75022c9
Update Maestro e2e tests (#1991)
loremattei Oct 10, 2023
f08eca7
BSK hotfix 80.3.0-1 merged to the main branch (#2079)
tomasstrba Oct 11, 2023
835b19c
Bump C-S-S to 4.39.0 (#2085)
dharb Oct 11, 2023
2f2e016
Update BSK with autofill 8.4.2 (#2084)
daxmobile Oct 11, 2023
e8e7fc7
Ignore form factor specific favorites if they're received in Sync res…
ayoy Oct 12, 2023
9be6e24
Update tabs tests (#2088)
loremattei Oct 13, 2023
27c5425
Release 7.93.0 (#2096)
graeme Oct 13, 2023
1ca1ae6
Merge remote-tracking branch 'origin/coldfix/7.93.0'
graeme Oct 13, 2023
3586115
Release 7.93.0 (#2096)
graeme Oct 13, 2023
1fef42a
Add note about Danger matching rules (#2087)
loremattei Oct 15, 2023
e119bad
Fix privacy tests (#2097)
loremattei Oct 16, 2023
6261549
address bar position (#2072)
brindy Oct 16, 2023
8f6107d
NetP: Fix server location formatting (#2099)
graeme Oct 17, 2023
d719a7b
Disable NetP errors temporarily (#2102)
graeme Oct 18, 2023
f7b4115
Append build number to metricKit crash version (#2100)
graeme Oct 18, 2023
eaba04c
Release 7.94.0 (#2107)
bwaresiak Oct 18, 2023
042c65f
Merge branch 'release/7.94.0'
bwaresiak Oct 18, 2023
523f14d
Merge tag '7.94.0' into develop
bwaresiak Oct 18, 2023
5c5ee6d
iOS VPN Settings part 1 (#2109)
graeme Oct 19, 2023
d8d7555
bump bsk for duckplayer fixes on BigSur (#2106)
shakyShane Oct 19, 2023
df98d54
Integrate BSK changes (#2101)
diegoreymendez Oct 22, 2023
97551e4
bump BSK (changed dashboard API) (#2111)
shakyShane Oct 23, 2023
1280d29
Add an “Open VPN Settings” quick action (#2089)
samsymons Oct 27, 2023
4dcd6af
Update BSK with autofill 9.0.0 (#2103)
daxmobile Oct 27, 2023
8e959f3
Switch to next phase of new experiment for UA (#2118)
jaceklyp Oct 30, 2023
784f05a
Integrates the latest DBP changes in BSK (#2108)
diegoreymendez Oct 30, 2023
ce8ce75
Fix for deeplink crash when preparing webview preview (#2116)
amddg44 Oct 31, 2023
ff096da
Add toggling of NetP Notifications to iOS (#2112)
graeme Oct 31, 2023
4dd122b
Release 7.95.0 (#2122)
THISISDINOSAUR Oct 31, 2023
b89ce38
Merge branch 'release/7.95.0'
THISISDINOSAUR Oct 31, 2023
f6a30b2
Merge tag '7.95.0' into develop
THISISDINOSAUR Oct 31, 2023
3edbcdc
Update to config v4 (#2114)
SlayterDev Nov 2, 2023
9210ed9
Add e2e test for email protection deep-links (#2123)
loremattei Nov 3, 2023
ecf6b1f
Alert user about abnormal app conditions (#2110)
jaceklyp Nov 4, 2023
5cc3464
Update remote messaging production url (#2124)
amddg44 Nov 6, 2023
71ebac1
Release 7.96.0 (#2128)
miasma13 Nov 6, 2023
aa444df
Merge branch 'release/7.96.0'
miasma13 Nov 6, 2023
d405e13
Merge branch 'release/7.96.0' into develop
miasma13 Nov 6, 2023
ce22955
Adding 'protectionsState' to breakage form submission (#2120)
shakyShane Nov 7, 2023
1c19d06
kill variant when receiving atb update (#2130)
brindy Nov 7, 2023
c0c3417
Fix syncing empty favorites folders (#2121)
ayoy Nov 7, 2023
910a4f8
fix favorite launch with keyboard bug (#2131)
brindy Nov 7, 2023
81e555e
re-enable keyboard shortcuts (#2132)
brindy Nov 7, 2023
0f73f8a
Avoid AppTP DB initialization when disabled (#2090)
samsymons Nov 8, 2023
fbcd0d4
Update test to match exact tracker (#2133)
bwaresiak Nov 8, 2023
58a4021
Update BSK for NetP change (#2134)
samsymons Nov 8, 2023
aa7c242
Update BSK (#2136)
Bunn Nov 9, 2023
f4c0eba
Support environment setting (#2140)
quanganhdo Nov 9, 2023
9ad737c
switch to true|false for protectionsState param (#2137)
shakyShane Nov 10, 2023
0389ed6
Add Sync e2e test flows (#2127)
loremattei Nov 10, 2023
02329f8
Sync form factor specific favorites (#2029)
ayoy Nov 10, 2023
7f47f02
Add DesignResourcesKit to SyncUI (#2147)
samsymons Nov 10, 2023
efbcf8b
Properly refresh home page favorites view when updating favorites dis…
ayoy Nov 13, 2023
7b58cdb
Bump submodules/privacy-reference-tests from `0d23f76` to `7519c3d` (…
dependabot[bot] Nov 13, 2023
99e3134
Update version number
graeme Nov 13, 2023
43fbc33
Update embedded files
graeme Nov 13, 2023
2437742
Merge branch 'release/7.97.0'
graeme Nov 13, 2023
fc1af5a
Merge tag '7.97.0' into develop
graeme Nov 13, 2023
20176c4
Normalize ampUrl in breakage pixel (#2154)
SlayterDev Nov 13, 2023
7243cb6
Add NetP widget (#2142)
samsymons Nov 13, 2023
686881c
Updating tests to support latest reference tests (#2145)
shakyShane Nov 14, 2023
60f8601
Fix for duplicated "atb" in Pixel request (#2139)
federicocappelli Nov 14, 2023
9c4124e
Update sync e2e tests to new setup flow (#2151)
loremattei Nov 14, 2023
e88ee7f
BSK changes for NetP iOS Geoswitching (#2141)
graeme Nov 14, 2023
84406b0
Revert to auto signing (#2158)
graeme Nov 14, 2023
ba86fce
remove return user pixel (#2146)
brindy Nov 14, 2023
d2c3e17
Fixes a crasher due to a test line merged by mistake. (#2162)
diegoreymendez Nov 15, 2023
ddb189f
Update about screen (#2152)
brindy Nov 15, 2023
78a1066
Use upstream fastlane 2.217.0 (#2161)
ayoy Nov 15, 2023
441efa7
Merge branch 'release/7.97.0-changes'
graeme Nov 16, 2023
6b13bc8
Merge branch 'release/7.97.0-changes' into develop
graeme Nov 16, 2023
5addaa4
Autofill "Never Save for this Site" feature (#2104)
amddg44 Nov 16, 2023
743f3fa
Document LinkPresentation usage (#2172)
samsymons Nov 16, 2023
89e8c61
Updates BSK
diegoreymendez Nov 16, 2023
6eb65d3
Updates BSK
diegoreymendez Nov 16, 2023
c7e5bf5
Rolls back a BSK change by mistake
diegoreymendez Nov 16, 2023
efa39b4
Updates BSK (#2173)
diegoreymendez Nov 17, 2023
1809630
Update email protection e2e test to match the new UI (#2170)
loremattei Nov 17, 2023
3bddbca
fix pass kit related crash on iPad (#2171)
brindy Nov 17, 2023
a70e29e
Removed unarchiveTopLevelObjectWithData deprecation (#2176)
federicocappelli Nov 21, 2023
2329ac8
remove redundant orientation detection (#2178)
brindy Nov 21, 2023
34c2163
Bump autoconsent to 6.4.0 (#2174)
muodov Nov 21, 2023
83bc0d1
Release 7.98.0 (#2179)
bwaresiak Nov 22, 2023
0b5b4b8
refactor bookmarks and fire pixel if migration happens more than once
brindy Nov 22, 2023
d5fbba7
Revert "refactor bookmarks and fire pixel if migration happens more t…
brindy Nov 22, 2023
f0603a5
Merge branch 'release/7.98.0'
bwaresiak Nov 22, 2023
e16ea51
Merge tag '7.98.0' into develop
bwaresiak Nov 22, 2023
af8dc3a
bump C-S-S to 4.52.0 (#2186)
shakyShane Nov 22, 2023
e5d8fde
Breakage report improvements (#2168)
federicocappelli Nov 23, 2023
d3ffa47
Revert "Breakage report improvements" (#2189)
federicocappelli Nov 23, 2023
66d3d1d
Release 7.97.1 (#2190)
jaceklyp Nov 23, 2023
fea802a
Merge branch 'hotfix/7.97.1'
jaceklyp Nov 23, 2023
5d94e36
Merge tag '7.97.1' into develop
jaceklyp Nov 23, 2023
926526d
Update BSK ref to latest one (#2191)
bwaresiak Nov 23, 2023
85b8881
Release 7.98.0 (#2193)
jaceklyp Nov 24, 2023
945fbb0
Merge branch 'coldfix/7.98.0'
jaceklyp Nov 24, 2023
dc1d3bd
Merge tag '7.98.0' into develop
jaceklyp Nov 24, 2023
28c6d98
Fix sync Form Factor specific favorites tests (#2164)
loremattei Nov 24, 2023
ceaa553
bump bsk for CBR energy usage (#2195)
brindy Nov 24, 2023
91ba87b
NetP VPN locations screen (#2183)
graeme Nov 24, 2023
e705831
NetP waitlist (#2160)
samsymons Nov 25, 2023
c2b7161
Fix bug where VPN location isn't respected (#2194)
graeme Nov 27, 2023
16d042f
Autofill pixel parameter removed (#2182)
amddg44 Nov 27, 2023
8263fbe
Fix migrating from Bookmarks V2 and older (#2196)
ayoy Nov 27, 2023
ac1cd2c
Update BSK for VPN settings (#2165)
diegoreymendez Nov 28, 2023
0d3c755
Remove disabled switches from VPN Settings screen (#2203)
graeme Nov 28, 2023
5ddde81
Update iOS privacy defaults (#2185)
quanganhdo Nov 29, 2023
bca38bc
Release 7.99.0 (#2205)
bwaresiak Nov 29, 2023
2d2c4b9
Merge branch 'release/7.99.0'
bwaresiak Nov 29, 2023
e01e9fb
Merge tag '7.99.0' into develop
bwaresiak Nov 29, 2023
59dbb74
update theme to use system colours (#2180)
brindy Nov 29, 2023
82c8517
NetP Geoswitching Design Review feedback (#2206)
graeme Nov 29, 2023
d6c6d92
Allow automated fetching of synced bookmarks' favicons (#2163)
ayoy Nov 30, 2023
3b04091
moving the toggle to the top of the dashboard (#2166)
shakyShane Nov 30, 2023
3f3dbca
Use design system fonts throughout NetP (#2211)
graeme Dec 1, 2023
c73d7de
new pixels for toolbars and share sheet (#2208)
brindy Dec 1, 2023
7c44458
Sabrina/sync setup update (#2198)
SabrinaTardio Dec 1, 2023
e8ee32c
Report macOS active/new user for netP (#2207)
quanganhdo Dec 1, 2023
c7f9c16
Reset VPN waitlist T&C (#2212)
samsymons Dec 1, 2023
6030cc3
NetP: Fix list row colours (#2213)
graeme Dec 1, 2023
ffa0cad
NetP: Remove port from server address (#2214)
graeme Dec 1, 2023
08b34f8
NetP waitlist final touches (#2209)
samsymons Dec 4, 2023
d242336
Update Sync e2e tests to fit the new UI (#2215)
loremattei Dec 4, 2023
e91af27
Address Bar Spoofing Tests + Remediation (#2181)
not-a-rootkit Dec 4, 2023
b20de46
Merge branch 'release/7.100.0'
federicocappelli Dec 4, 2023
f822b76
Merge tag '7.100.0' into develop
federicocappelli Dec 4, 2023
000aa58
remove address bar position pixels (#2220)
brindy Dec 5, 2023
fe7db6c
Improve handling lists in Sync (#2192)
ayoy Dec 5, 2023
630a07f
Final NetP ship review feedback (#2221)
graeme Dec 5, 2023
e4ec1a2
Update BSK reference to include the disable rekeying flag (#2219)
samsymons Dec 5, 2023
97ebdd4
Breakage report improvements (#2197)
federicocappelli Dec 6, 2023
154c2cb
Update TRK (#2200)
SlayterDev Dec 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,3 @@ Using a simulator where a physical device is unavailable is acceptable.
###### Internal references:
[Software Engineering Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design Template](https://app.asana.com/0/59792373528535/184709971311943)
**When ready for review, remember to post the PR in MM**
90 changes: 90 additions & 0 deletions .github/workflows/adhoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Make ad-hoc build

on:
workflow_dispatch:
inputs:
suffix:
description: "Text to append at the end of the build name"
required: false
asana-task-url:
description: "Asana task URL"
required: false
type: string

jobs:
make-adhoc:
runs-on: macos-13
name: Make ad-hoc build

steps:

- 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: 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: |
if [[ -n "${{ github.event.inputs.suffix }}" ]]; then
bundle exec fastlane adhoc suffix:${{ github.event.inputs.suffix }}
else
bundle exec fastlane adhoc
fi

- name: Set filenames
run: |
echo "ipa_filename=${{ env.output_name }}.ipa" >> $GITHUB_ENV
echo "dsyms_filename=${{ env.output_name }}.app.dSYM.zip" >> $GITHUB_ENV

- name: Set paths
run: |
echo "ipa_path=${{ github.workspace }}/${{ env.ipa_filename }}" >> $GITHUB_ENV
echo "dsyms_path=${{ github.workspace }}/${{ env.dsyms_filename }}" >> $GITHUB_ENV

- name: Upload IPA artifact
uses: actions/upload-artifact@v3
with:
name: ${{ env.ipa_filename }}
path: ${{ env.ipa_path }}

- name: Upload dSYMs artifact
uses: actions/upload-artifact@v3
with:
name: ${{ env.dsyms_filename }}
path: ${{ env.dsyms_path }}

- name: Get Asana Task ID
id: get-task-id
if: github.event.inputs.asana-task-url
run: |
task_url_regex='^https://app.asana.com/[0-9]/[0-9]*/([0-9]*)/f$'
if [[ "${{ github.event.inputs.asana-task-url }}" =~ ${task_url_regex} ]]; then
echo "task_id=${BASH_REMATCH[1]}" >> $GITHUB_OUTPUT
else
echo "::error::Asana Task URL has incorrect format (attempted to match ${task_url_regex})."
fi

- name: Upload IPA to Asana
if: github.event.inputs.asana-task-url
env:
ASANA_ACCESS_TOKEN: ${{ secrets.ASANA_ACCESS_TOKEN }}
run: |
curl -s "https://app.asana.com/api/1.0/tasks/${{ steps.get-task-id.outputs.task_id }}/attachments" \
-H "Authorization: Bearer ${{ secrets.ASANA_ACCESS_TOKEN }}" \
--form "file=@${{ env.ipa_path }};type=application/zip"
114 changes: 114 additions & 0 deletions .github/workflows/alpha.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
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-

# Using Xcode 15 as the alpha build uses iOS 17 APIs
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_15.0.1.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"
50 changes: 50 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
schedule:
- cron: '0 2 * * *' # Run at 2 AM UTC

jobs:
analyze:
name: Analyze
runs-on: macos-13
timeout-minutes: 60
permissions:
actions: read
contents: read
security-events: write

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: 'swift'

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer

- name: Build
run: |
xcodebuild clean build \
-target "DuckDuckGo" \
-scheme "DuckDuckGo" \
-destination "platform=iOS Simulator,name=iPhone 14,OS=16.4"

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:swift"
2 changes: 1 addition & 1 deletion .github/workflows/danger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
steps:
- uses: actions/checkout@v1
- name: Danger
uses: danger/[email protected].0
uses: danger/[email protected].6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/end-to-end.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: End-to-End tests

on:
schedule:
- cron: '0 4 * * *' # run at 4 AM UTC

jobs:
end-to-end-tests:
name: End to end Tests
runs-on: macos-13

steps:
- 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: Build for tests
run: |
set -o pipefail && xcodebuild \
-scheme "DuckDuckGo" \
-destination "platform=iOS Simulator,name=iPhone 14,OS=16.4" \
-derivedDataPath "DerivedData" \
| tee xcodebuild.log

- name: Release tests
uses: mobile-dev-inc/[email protected]
with:
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
app-file: DerivedData/Build/Products/Debug-iphonesimulator/DuckDuckGo.app
workspace: .maestro
include-tags: release

- name: Privacy tests
uses: mobile-dev-inc/[email protected]
with:
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
app-file: DerivedData/Build/Products/Debug-iphonesimulator/DuckDuckGo.app
workspace: .maestro
include-tags: privacy

- name: Ad Click Detection Flow tests
uses: mobile-dev-inc/[email protected]
with:
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
app-file: DerivedData/Build/Products/Debug-iphonesimulator/DuckDuckGo.app
workspace: .maestro
include-tags: adClick

- name: Create Asana task when workflow failed
if: ${{ failure() }}
run: |
curl -s "https://app.asana.com/api/1.0/tasks" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${{ secrets.ASANA_ACCESS_TOKEN }}" \
--header "Content-Type: application/json" \
--data ' { "data": { "name": "GH Workflow Failure - End to end tests", "workspace": "${{ vars.GH_ASANA_WORKSPACE_ID }}", "projects": [ "${{ vars.GH_ASANA_IOS_APP_PROJECT_ID }}" ], "notes" : "The end to end workflow has failed. See https://github.com/duckduckgo/iOS/actions/runs/${{ github.run_id }}" } }'

- name: Upload logs when workflow failed
uses: actions/upload-artifact@v3
if: failure()
with:
name: BuildLogs
path: |
xcodebuild.log
DerivedData/Logs/Test/*.xcresult
retention-days: 7
Loading