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

Release 5.4.0 #1642

Merged
merged 345 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
345 commits
Select commit Hold shift + click to select a range
0d69e5d
Update detekt_version to v1.23.6
renovate[bot] May 1, 2024
754283a
Merge pull request #1595 from Adyen/renovate/detekt_version
jreij May 1, 2024
a85e1bb
Update hilt_version to v2.51.1
renovate[bot] May 1, 2024
c58a06e
Merge pull request #1596 from Adyen/renovate/hilt_version
OscarSpruit May 1, 2024
5d94f9a
Make sure android tests can run
OscarSpruit Apr 19, 2024
0d63171
Setup basic UI test
OscarSpruit Apr 19, 2024
911e059
Add github workflow to run UI tests
OscarSpruit Apr 19, 2024
7ebba5b
Replace custom caching with Gradle action caching
OscarSpruit Apr 19, 2024
0f378c2
Override local.gradle values for CI builds
OscarSpruit Apr 23, 2024
6a1eee7
Make cache read-only for small steps
OscarSpruit Apr 24, 2024
a6520fe
Run assemble in check_develop
OscarSpruit Apr 24, 2024
a9045c7
Run UI tests on every push to develop
OscarSpruit May 1, 2024
b937ea4
Merge pull request #1561 from Adyen/setup-ui-testing
OscarSpruit May 1, 2024
688e27e
Use full qualified name to store action configurations in CheckoutCon…
OscarSpruit Apr 30, 2024
6320c6c
Add release note
OscarSpruit Apr 30, 2024
c082d19
Merge pull request #1592 from Adyen/fix/config-obfuscation
OscarSpruit May 1, 2024
126671d
Update plugin io.gitlab.arturbosch.detekt to v1.23.6
renovate[bot] May 1, 2024
9133947
Merge pull request #1597 from Adyen/renovate/detekt_gradle_plugin_ver…
OscarSpruit May 1, 2024
1d5ae5e
Update dependency org.mockito.kotlin:mockito-kotlin to v5.3.1
renovate[bot] May 1, 2024
3e31323
Merge pull request #1602 from Adyen/renovate/mockito_kotlin_version
OscarSpruit May 1, 2024
9c58cf6
Update JamesIves/github-pages-deploy-action action to v4.6.0
renovate[bot] May 1, 2024
f98d311
Merge pull request #1607 from Adyen/renovate/jamesives-github-pages-d…
jreij May 1, 2024
8a026ba
Update retrofit2_version to v2.11.0
renovate[bot] May 1, 2024
eafaff6
Merge pull request #1606 from Adyen/renovate/retrofit2_version
jreij May 1, 2024
34007da
Update dependency composeOptions to v1.5.12
renovate[bot] May 1, 2024
9079724
Merge pull request #1608 from Adyen/renovate/kotlin
jreij May 2, 2024
5118a22
Update plugin org.jetbrains.dokka to v1.9.20
renovate[bot] May 2, 2024
45e2579
Merge pull request #1598 from Adyen/renovate/dokka_version
jreij May 2, 2024
2ffd8aa
Update dependency androidx.activity:activity-compose to v1.9.0
renovate[bot] May 2, 2024
60b4f8f
Merge pull request #1609 from Adyen/renovate/compose_activity_version
jreij May 2, 2024
fecfd4b
Update dependency androidx.compose:compose-bom to v2024.04.01
renovate[bot] May 2, 2024
35c30ea
Merge pull request #1600 from Adyen/renovate/compose_bom_version
jreij May 2, 2024
0e2fac7
Update dependency com.adevinta.android:barista to v4.3.0
renovate[bot] May 2, 2024
0af6d69
Merge pull request #1603 from Adyen/renovate/barista_version
jreij May 2, 2024
16101c0
Update dependency org.robolectric:robolectric to v4.12.1
renovate[bot] May 2, 2024
7abf96a
Merge pull request #1604 from Adyen/renovate/robolectric_version
jreij May 2, 2024
9d1cdd8
Update android_gradle_plugin_version to v8.3.2
renovate[bot] May 2, 2024
b871773
Update verification metadata
jreij May 2, 2024
1c0efad
Merge pull request #1593 from Adyen/renovate/android_gradle_plugin_ve…
jreij May 2, 2024
f4423b6
Fix inaccurate client key validation regex
jreij May 2, 2024
ad599ea
Always validate client key and environment together
jreij May 2, 2024
a028156
Merge pull request #1611 from Adyen/refactor/improve-client-key-valid…
jreij May 2, 2024
cb4387f
Update dependency androidx.browser:browser to v1.8.0
renovate[bot] May 2, 2024
96bae64
Merge pull request #1599 from Adyen/renovate/browser_version
jreij May 3, 2024
a05e8d2
Update dependency gradle to v8.7
renovate[bot] May 3, 2024
4f850d8
Merge pull request #1601 from Adyen/renovate/gradle-8.x
jreij May 3, 2024
e48dca4
Disable recompilation by the sonar command
OscarSpruit May 1, 2024
8ca97d3
Remove no-daemon flag for CI builds
OscarSpruit May 1, 2024
21ba8c7
Enable Gradle config caching
OscarSpruit May 2, 2024
ba91dd8
Do not process unnecessary resources on CI builds
OscarSpruit May 2, 2024
d571501
Merge pull request #1605 from Adyen/fix/sonar-build-time
OscarSpruit May 3, 2024
7374f46
Migrate to non-transitive R classes
OscarSpruit May 2, 2024
dd776a3
Update verification metadata
OscarSpruit May 3, 2024
0700f86
Merge pull request #1614 from Adyen/refactor/non-transitive-r
OscarSpruit May 3, 2024
9b95814
Revert "Update dependency gradle to v8.7"
jreij May 6, 2024
16cf8b3
Merge pull request #1621 from Adyen/revert-1601-renovate/gradle-8.x
jreij May 6, 2024
b171b87
Display pay button in components if created by drop in
ozgur00 May 2, 2024
2b76b40
Merge pull request #1612 from Adyen/fix/submit-button
ozgur00 May 8, 2024
acf30fb
Migrate to KSP
OscarSpruit May 2, 2024
2e4fe73
Merge pull request #1613 from Adyen/refactor/ksp
OscarSpruit May 10, 2024
20a15ca
Update dependency com.adyen.threeds:adyen-3ds2 to v2.2.18
renovate[bot] May 13, 2024
b1addd4
Update release notes
jreij May 13, 2024
d33ee95
Merge pull request #1625 from Adyen/renovate/adyen3ds2_version
jreij May 13, 2024
3cc0ae2
Use existing ActionComponentDialogFragment instance to handle consecu…
jreij May 6, 2024
0f1473f
Update release notes
jreij May 7, 2024
10cc7e4
Merge pull request #1629 from Adyen/fix/old-3ds2-flow-drop-in
jreij May 14, 2024
33616ee
Extract launching custom tabs to a new class
jreij May 6, 2024
609fc37
Add separate style for custom tabs
jreij May 6, 2024
5d5b6af
Update release notes and customization guide
jreij May 6, 2024
4b348a9
Directly use attr instead of inside a styleable
jreij May 14, 2024
6aa503b
Merge pull request #1628 from Adyen/feature/custom-tabs-styling
jreij May 15, 2024
a687eaf
Add AndroidX Startup dependency
OscarSpruit Feb 29, 2024
46bdb44
Create initializer that stores application context on start up
OscarSpruit Feb 29, 2024
88cb37d
Try to recreate the action delegate when handleIntent is called
OscarSpruit Feb 29, 2024
a850d0f
Provide application when creating DefaultGenericActionDelegate
OscarSpruit Mar 12, 2024
1bb2952
Remove AndroidX startup library
OscarSpruit Mar 12, 2024
98cbf53
Add unit test
OscarSpruit Mar 12, 2024
1d02cb7
Add release note
OscarSpruit Mar 12, 2024
5b792ed
Move restoring DefaultGenericActionDelegate to when it is initialised
OscarSpruit Mar 13, 2024
eebda82
Try to restore state of DefaultVoucherDelegate
OscarSpruit Mar 13, 2024
215914f
Try to restore state of DefaultAwaitDelegate
OscarSpruit Mar 13, 2024
30dfdab
Try to restore state of DefaultQRCodeDelegate
OscarSpruit Mar 20, 2024
59ee90a
Use SavedStateHandleProperty to save the actions
OscarSpruit Apr 4, 2024
98236be
Don't save action in DefaultGenericActionDelegate
OscarSpruit May 15, 2024
93c3900
Clear state when flow is final in await
OscarSpruit May 15, 2024
616c080
Split restoring qr and redirect action state restoration for DefaultQ…
OscarSpruit May 15, 2024
189e0e4
Clear state when flow is final in qr code
OscarSpruit May 15, 2024
f197ee1
Clear state when flow is final in voucher
OscarSpruit May 15, 2024
ce91061
Make naming consistent between action delegates
OscarSpruit May 16, 2024
6edff78
Merge pull request #1489 from Adyen/fix/restore-action-handling-state
OscarSpruit May 16, 2024
62a1234
Restore 3ds2 delegate after process dies
OscarSpruit May 21, 2024
59bdcf1
Make sure 3DS2s ChallengeStatusHandler survives process death
OscarSpruit May 21, 2024
7442464
Don't save authorization token anymore
OscarSpruit May 22, 2024
5c7bdaf
Merge pull request #1632 from Adyen/fix/restore-3ds2-state
OscarSpruit May 22, 2024
e72558b
Update sonar
OscarSpruit May 23, 2024
f770073
Split sonar command
OscarSpruit May 23, 2024
0316c80
Merge pull request #1635 from Adyen/fix/sonar
OscarSpruit May 23, 2024
f98fdbc
Create twint module
OscarSpruit Oct 18, 2023
809c282
Setup basic component + delegate
OscarSpruit Oct 19, 2023
33898ef
Add Twint library
OscarSpruit Oct 19, 2023
089ca02
Implement TwintDelegate
OscarSpruit Oct 20, 2023
bacb2f3
Add support for Twint in drop-in
OscarSpruit Oct 20, 2023
6a21b74
Publish Twint SDK as a standalone dependency
OscarSpruit Nov 17, 2023
7bb498b
Make it possible to add InstantPaymentConfiguration to DropInConfigur…
OscarSpruit Apr 9, 2024
6aeeeee
Add configuration for actions to be handled with a sdk or not
OscarSpruit Nov 21, 2023
00be242
Add unit tests
OscarSpruit Nov 21, 2023
64b006d
Use compileOnly for twint in action-core
OscarSpruit Nov 28, 2023
0690fab
Use an enum in the config to specify how actions should be handled
OscarSpruit Nov 28, 2023
3231108
Add documentation to the Twint object
OscarSpruit Nov 28, 2023
6a4e627
Update to Twint 8.0.0
OscarSpruit Feb 8, 2024
ee174f3
Implement polling mechanism for Twint
OscarSpruit Apr 10, 2024
5dbf865
Fix action component callback leak
OscarSpruit Apr 26, 2024
f8d3456
Wrap Twint in a fragment
OscarSpruit May 10, 2024
d978fa8
Add TwintActionConfigurationTest
OscarSpruit May 16, 2024
d7cf94a
Add release notes
OscarSpruit May 16, 2024
89498c8
Restore state when process dies
OscarSpruit May 16, 2024
02f6563
Add more tests
OscarSpruit May 16, 2024
a1cdfec
Add comment to explain LayoutInflater problem
OscarSpruit May 22, 2024
f5430ea
Update ActionHandlingMethod explanation
OscarSpruit May 23, 2024
990e808
Merge pull request #1630 from Adyen/feature/twint_sdk
OscarSpruit May 24, 2024
0b337d2
Add secondary text color
OscarSpruit May 22, 2024
de9b80b
Display country picker entries correctly
OscarSpruit May 16, 2024
adb0a52
Preselect Portuguese country code for MBWay
OscarSpruit May 17, 2024
6c782ed
Align dropdown arrow correctly in MBWay view
OscarSpruit May 22, 2024
9372060
Align dropdown arrow correctly in EContext view
OscarSpruit May 22, 2024
7fa5f62
Sort country list by localized country name
OscarSpruit May 22, 2024
d17d0a3
Move initially selected country logic to delegate for MBWay
OscarSpruit May 28, 2024
83ee09e
Move initially selected country logic to delegate for EContext
OscarSpruit May 28, 2024
0d77481
Merge pull request #1633 from Adyen/fix/country-drop-down
OscarSpruit May 28, 2024
d1d9cb0
Use getBooleanOrNull instead of optBoolean for enableStoreDetails and…
araratthehero May 28, 2024
6947855
Merge pull request #1637 from Adyen/fix/stored_payment_methods_remova…
araratthehero May 28, 2024
d852fcd
Setup analytics base
OscarSpruit Feb 6, 2024
321a627
Implement analytics setup call
OscarSpruit Feb 12, 2024
405d2cb
Implement AdyenAnalytics in MBWay
OscarSpruit Feb 12, 2024
0d545ba
Add backend objects for event tracking
araratthehero Feb 12, 2024
2c236ec
Map events and send them to backend
OscarSpruit Feb 13, 2024
9b49194
Setup interfaces for analytics architecture
OscarSpruit Feb 27, 2024
c725ba2
Implement fetch checkoutAttemptId flow
OscarSpruit Feb 27, 2024
18358c2
Implement send event flow
OscarSpruit Feb 27, 2024
77716ee
Add local data store logic
araratthehero Feb 28, 2024
d7c56a3
Make reading and writing in data stores synchronized
araratthehero Feb 29, 2024
ee1c2c8
Implement timer and send logic
OscarSpruit Mar 1, 2024
a9fa4f5
Exception handling logic for AnalyticsManager
araratthehero Mar 4, 2024
68daa1c
Rename and rearrange files
araratthehero Mar 4, 2024
7a5aea3
Create analytics manager factory and use it for MBWay component
araratthehero Mar 5, 2024
d4b27ae
Resolve some warnings
araratthehero Mar 5, 2024
c2f10a3
Fix some TODOs
OscarSpruit Mar 6, 2024
6ded0f3
Fix some build errors
OscarSpruit Mar 6, 2024
d16855d
Rename old classes back to previous and prefix new classes
OscarSpruit Mar 7, 2024
85cc709
Fix unit tests and lint errors
OscarSpruit Mar 7, 2024
4d5c7cf
Create AnalyticsManager and pass it to components in drop-in
OscarSpruit Mar 7, 2024
12d1451
Move AnalyticsService to it's original place
OscarSpruit Mar 7, 2024
45eac91
Serialize AnalyticsTrackRequest correctly
OscarSpruit Mar 7, 2024
2093f4b
Generate id for analytics events
OscarSpruit Mar 7, 2024
b6aa7b9
Return an empty JSONObject when response is empty
OscarSpruit Mar 7, 2024
cbd9820
Don't send events if there are none
OscarSpruit Mar 8, 2024
33e0d53
Only clean up AnalyticsManager by the class that initialized it
OscarSpruit Mar 8, 2024
a7c7a61
Create an interface for AnalyticsManager
OscarSpruit Mar 8, 2024
e92ce9b
Alignments with iOS
araratthehero Mar 13, 2024
45b9dd4
Log when exiting a function early
OscarSpruit Mar 14, 2024
64ca151
Log how many events are stored when clearing DefaultAnalyticsManager
OscarSpruit Mar 14, 2024
4b64fce
Improve empty response handling
OscarSpruit Mar 18, 2024
ab6291c
Change analytics implementation for StoredACHDirectDebitDelegate and …
araratthehero Mar 18, 2024
9e5f431
Change analytics implementation for DefaultBacsDirectDebitDelegate
araratthehero Mar 18, 2024
9b74556
Change analytics implementation for DefaultCardDelegate and StoredCar…
araratthehero Mar 18, 2024
e4e9b07
Change analytics implementation for DefaultBlikDelegate and StoredBli…
araratthehero Mar 18, 2024
4bcb0b5
Change analytics implementation for DefaultBoletoDelegate
araratthehero Mar 18, 2024
92c7201
Change analytics implementation for DefaultIssuerListDelegate
araratthehero Mar 18, 2024
72eadf1
Change analytics implementation for DefaultEContextDelegate
araratthehero Mar 18, 2024
d43f1cc
Change analytics implementation for DefaultGiftCardDelegate
araratthehero Mar 18, 2024
fc82ec6
Change analytics implementation for DefaultGooglePayDelegate
araratthehero Mar 18, 2024
c957a1c
Change analytics implementation for DefaultInstantPaymentDelegate
araratthehero Mar 18, 2024
3ae4e78
Change analytics implementation for DefaultOnlineBankingDelegate
araratthehero Mar 18, 2024
542088c
Change analytics implementation for DefaultPayByBankDelegate
araratthehero Mar 18, 2024
7448790
Change analytics implementation for DefaultSepaDelegate
araratthehero Mar 18, 2024
a4c1030
Change analytics implementation for DefaultUPIDelegate
araratthehero Mar 18, 2024
854d915
Change analytics implementation for DefaultCashAppPayDelegate and Sto…
araratthehero Mar 18, 2024
fc3cb07
Change analytics implementation for ComponentProvider
araratthehero Mar 18, 2024
069b828
Change analytics implementation for DropInViewModel
araratthehero Mar 18, 2024
ecb34c0
Make improvements for MBWay analytics implementation
araratthehero Mar 18, 2024
4515330
Remove old analytics files
araratthehero Mar 18, 2024
824f7e5
Change NewAnalyticsRepository to AnalyticsRepository
araratthehero Mar 18, 2024
877ab14
Add tests for AnalyticsPlatformParams
OscarSpruit Mar 14, 2024
7c8e040
Add test for AnalyticsService
OscarSpruit Mar 14, 2024
f0286c3
Add tests for AnalyticsSetupRequest
OscarSpruit Mar 14, 2024
a864bf8
Add tests for AnalyticsSetupResponse
OscarSpruit Mar 15, 2024
37769da
Add tests for AnalyticsTrackRequest
OscarSpruit Mar 15, 2024
0b6fd8c
Add tests for AnalyticsTrackInfo
OscarSpruit Mar 15, 2024
ba4b024
Add tests for AnalyticsTrackLog
OscarSpruit Mar 15, 2024
b7bc69e
Add tests for AnalyticsTrackRequestProvider
OscarSpruit Mar 15, 2024
99dc7dc
Add tests for DefaultAnalyticsManager
OscarSpruit Mar 18, 2024
ba6e1e9
Add tests for DefaultAnalyticsRepository
OscarSpruit Mar 18, 2024
8f760f8
Add tests for DefaultAnalyticsSetupProvider
OscarSpruit Mar 18, 2024
4b2cb2f
Fix detekt issues
OscarSpruit Mar 18, 2024
d0a833e
Create test implementation of AnalyticsManager
OscarSpruit Mar 8, 2024
2ce58c2
Implement MBWay analytics events
OscarSpruit Mar 6, 2024
8ac73d7
Do optimisations on DefaultMBWayDelegate tracking
araratthehero Mar 22, 2024
c02b7f7
Add rendered and submit events for DefaultCardDelegate and StoredCard…
araratthehero Mar 22, 2024
74cad3d
Add rendered and submit events for DefaultIssuerListDelegate
araratthehero Mar 22, 2024
373601c
Add selected event for DefaultIssuerListDelegate
araratthehero Mar 22, 2024
9ceeb86
Clean up tests
araratthehero Mar 22, 2024
0e1a313
Track action event when action is handled
araratthehero Mar 26, 2024
ba60c92
Pass analytics manager to GenericActionComponentProvider from payment…
araratthehero Mar 26, 2024
ac76eed
Add analyticsManager to ActionDelegateProvider
araratthehero Apr 4, 2024
ea0380e
Track action event for DefaultAdyen3DS2Delegate
araratthehero Apr 4, 2024
f33110b
Track action event for DefaultAwaitDelegate
araratthehero Apr 4, 2024
64e6323
Track action event for DefaultQRCodeDelegate
araratthehero Apr 4, 2024
a43f96d
Track action event for DefaultRedirectDelegate
araratthehero Apr 4, 2024
3a74c80
Add analyticsManager to ActionDelegateProvider
araratthehero Apr 4, 2024
b9caf54
Track action event for DefaultWeChatDelegate
araratthehero Apr 4, 2024
e51e69f
Remove action event for DefaultGenericActionDelegate
araratthehero Apr 4, 2024
839feef
Track download event when qr code is downloaded
araratthehero Mar 28, 2024
a80bcce
Add assertHasEventEquals method in TestAnalyticsManager to test payme…
araratthehero Mar 29, 2024
6079ffd
Track events before calling onSubmit for delegates which already trac…
araratthehero Mar 29, 2024
ec3e8c3
Improve DefaultMBWayDelegateTest
araratthehero Mar 29, 2024
70b7795
Add generic events for StoredCashAppPayDelegate and DefaultCashAppPay…
araratthehero Mar 29, 2024
e592d09
Add generic events for StoredACHDirectDebitDelegate and DefaultACHDir…
araratthehero Mar 29, 2024
d902a7d
Add generic events for StoredBlikDelegate and DefaultBlikDelegate
araratthehero Mar 29, 2024
94d02d9
Add generic events for DefaultBacsDirectDebitDelegate
araratthehero Apr 2, 2024
5b7a675
Add generic events for DefaultBoletoDelegate
araratthehero Apr 2, 2024
5af0572
Add generic events for DefaultEContextDelegate
araratthehero Apr 2, 2024
2b82e52
Add generic events for DefaultGiftCardDelegate
araratthehero Apr 2, 2024
03c5d5f
Add generic events for DefaultGooglePayDelegate
araratthehero Apr 2, 2024
0689b72
Add generic events for DefaultInstantPaymentDelegate
araratthehero Apr 2, 2024
f7fc98e
Add generic events for DefaultOnlineBankingDelegate
araratthehero Apr 2, 2024
71438a4
Add generic events for DefaultPayByBankDelegate
araratthehero Apr 3, 2024
a40fb39
Add generic events for DefaultSepaDelegate
araratthehero Apr 3, 2024
a4428b8
Add generic events for DefaultUPIDelegate
araratthehero Apr 3, 2024
825e21e
Address CR comments
araratthehero Apr 10, 2024
eaa6807
Add threeDS2 event tracking functions
araratthehero Apr 29, 2024
f51faa9
Track events for threeDS2 flow
araratthehero Apr 29, 2024
a6f005b
Clean up unused code and TODOs
OscarSpruit May 16, 2024
ad9de18
Map result field for track events to response object
OscarSpruit May 17, 2024
8e4e040
Move log line for successfully sending events
OscarSpruit May 17, 2024
b96c990
Only remove events that were successfully sent
OscarSpruit May 21, 2024
f0bb1d7
Always initialize analytics when drop in is created
OscarSpruit May 21, 2024
884b429
Track action event for DefaultTwintDelegate
OscarSpruit May 24, 2024
6114555
Make sure action event is tracked when handleAction is called
OscarSpruit May 24, 2024
c502daa
Merge pull request #1591 from Adyen/feature/analytics
araratthehero May 28, 2024
c1d0f67
Correctly restore state of redirect
OscarSpruit May 29, 2024
078cea1
Merge pull request #1639 from Adyen/fix/redirect-state-restoration
OscarSpruit May 29, 2024
7a8a716
Correctly restore state of WeChatPay
OscarSpruit May 29, 2024
e45eea5
Merge pull request #1640 from Adyen/fix/wechatpay-state-restoration
OscarSpruit May 29, 2024
fa75c59
Remove storedEventCount counter, since it was not reliable due to con…
araratthehero May 29, 2024
278991a
Merge pull request #1641 from Adyen/feature/analytics_remove_non_reli…
araratthehero May 29, 2024
3082a7b
Bump version number to 5.4.0
OscarSpruit May 28, 2024
feb15cd
Update release notes
OscarSpruit May 29, 2024
5eb7626
Merge pull request #1638 from Adyen/release/5.4.0
OscarSpruit May 29, 2024
20e77cc
Add dependency updates to release notes
OscarSpruit May 29, 2024
c34cb2f
Merge pull request #1643 from Adyen/release-note-deps
OscarSpruit May 29, 2024
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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
[//]: # (If this is a bug fix: include a reproduction path)

## Checklist <!-- Remove any line that's not applicable -->
- [ ] PR is labelled <!-- Breaking change, Feature, Fix, Dependencies or Chore -->
- [ ] Code is unit tested
- [ ] Changes are tested manually
- [ ] Link to related issues
- [ ] Add relevant labels to PR <!-- Breaking change, Feature, Fix or Dependencies. If none of these labels are applicable (for example refactor tasks or release PRs) do not use any labels -->
- [ ] Related issues are linked

COAND-XXX
14 changes: 6 additions & 8 deletions .github/workflows/assemble.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,14 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: false

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run assembleDebug
run: ./gradlew assDeb --no-daemon

- name: Cache build output
uses: actions/cache/save@v3
with:
path: /home/runner/work/adyen-android/adyen-android
key: cache-${{ github.run_id }}-${{ github.run_attempt }}
run: ./gradlew assDeb -Pstrip-resources=true
4 changes: 4 additions & 0 deletions .github/workflows/check_develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ concurrency:
cancel-in-progress: true

jobs:
assemble:
name: Assemble
uses: ./.github/workflows/assemble.yml
sonar_cloud:
name: SonarCloud
uses: ./.github/workflows/sonar_cloud.yml
needs: assemble
secrets: inherit
48 changes: 48 additions & 0 deletions .github/workflows/check_labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Check Labels

# Every PR should have a label and some labels should include an update to the release notes
on:
pull_request:
branches-ignore:
- 'main'
types: [ synchronize, labeled, unlabeled ]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true

jobs:
labels-check:
# https://github.com/actions/virtual-environments/
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Check PR labels
run: |
all_pr_labels_json=$(cat <<EOF
${{ toJson(github.event.pull_request.labels.*.name) }}
EOF
)
all_pr_labels=$(jq -r '.[]' <<< "$all_pr_labels_json")
echo "PR labels: $all_pr_labels"

if [[ "${all_pr_labels[@]}" =~ 'Breaking change' || "${all_pr_labels[@]}" =~ 'Feature' || "${all_pr_labels[@]}" =~ 'Fix' ]]
then
echo "Checking if release notes were added..."
git fetch origin develop --depth 1
if [ -n "$(git diff origin/develop RELEASE_NOTES.md)" ]
then
echo "Release notes were updated."
exit 0
else
echo "::error::Add release notes for your PR by updating RELEASE_NOTES.md"
exit 1
fi
elif [[ "${all_pr_labels[@]}" =~ 'Dependencies' || "${all_pr_labels[@]}" =~ 'Chore' ]]
then
echo "No extra actions needed for used labels"
exit 0
fi
echo "::error::You must add a valid label to this PR"
exit 1
8 changes: 6 additions & 2 deletions .github/workflows/check_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,15 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true

- name: Grant execute permission for gradlew
run: chmod +x gradlew

# Run gradlew check
- name: Gradle check
run: ./gradlew check --no-daemon
run: ./gradlew check
35 changes: 0 additions & 35 deletions .github/workflows/check_release_notes.yml

This file was deleted.

16 changes: 12 additions & 4 deletions .github/workflows/code_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,17 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run detekt
run: ./gradlew detekt --no-daemon
run: ./gradlew detekt -Pstrip-resources=true

ktlint:
name: Run ktlint
Expand All @@ -36,10 +40,14 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run ktlint
run: ./gradlew ktlint --no-daemon
run: ./gradlew ktlint -Pstrip-resources=true
8 changes: 6 additions & 2 deletions .github/workflows/generate_dependency_graph.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,14 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true

- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v1
uses: ts-graphviz/setup-graphviz@v2

- name: Generate Dependency Graph
run: ./gradlew dependencyGraph
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/publish_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,22 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true

- name: Grant execute permission for gradlew
run: chmod +x gradlew

# Generate kdocs
- name: Generate Dokka HTML documentation
run: ./gradlew dokkaHtmlMultiModule --no-daemon
run: ./gradlew dokkaHtmlMultiModule

# Deploy to GitHub Pages
- name: Deploy GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4.5.0
uses: JamesIves/github-pages-deploy-action@v4.6.0
with:
BRANCH: gh-pages
FOLDER: build/docs/
14 changes: 9 additions & 5 deletions .github/workflows/publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,17 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'


- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Gradle check
run: ./gradlew check --no-daemon
run: ./gradlew check

# TODO: add more tests or rely on check_release workflow?

Expand All @@ -42,7 +46,7 @@ jobs:

# Packages and publishes to Maven Central
- name: Publish to Maven Central
run: ./gradlew publishReleasePublicationToSonatypeRepository --max-workers 1 --stacktrace --no-daemon
run: ./gradlew publishReleasePublicationToSonatypeRepository --max-workers 1 --stacktrace
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
Expand Down
18 changes: 8 additions & 10 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,17 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- uses: actions/cache/restore@v3
- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
path: /home/runner/work/adyen-android/adyen-android
key: cache-${{ github.run_id }}-${{ github.run_attempt }}
cache-read-only: false

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run testDebugUnitTest
run: ./gradlew testDebugUnitTest --no-daemon
run: ./gradlew testDebugUnitTest -Pstrip-resources=true

lint:
name: Run lint
Expand All @@ -41,15 +40,14 @@ jobs:
with:
distribution: 'zulu'
java-version: 17
cache: 'gradle'

- uses: actions/cache/restore@v3
- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
path: /home/runner/work/adyen-android/adyen-android
key: cache-${{ github.run_id }}-${{ github.run_attempt }}
cache-read-only: false

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run lintDebug
run: ./gradlew lintDebug --no-daemon
run: ./gradlew lintDebug -Pstrip-resources=true
71 changes: 71 additions & 0 deletions .github/workflows/run_ui_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: UI Tests

on:
push:
branches:
- 'develop'
workflow_dispatch:

jobs:
ui-test:
name: Run UI tests
runs-on: ubuntu-latest
strategy:
matrix:
# Define the Android version you want to run UI tests for here.
api-level: [ 34 ]

steps:
- uses: actions/checkout@v4

- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: false

- name: AVD cache
uses: actions/cache@v4
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ matrix.api-level }}

- name: Create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
target: google_apis
arch: x86_64
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: false
script: echo "Generated AVD snapshot for caching."

- name: Run connectedDebugAndroidTest
uses: reactivecircus/android-emulator-runner@v2
env:
ADYEN_ANDROID_MERCHANT_SERVER_URL: 'https://android-ui-tests.adyen.com/'
ADYEN_ANDROID_CLIENT_KEY: 'test_fakefakefakefakefakefakefakefake'
with:
api-level: ${{ matrix.api-level }}
target: google_apis
arch: x86_64
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: ./gradlew connectedDebugAndroidTest -Pstrip-resources=true
Loading