-
-
Notifications
You must be signed in to change notification settings - Fork 76
Add Gradle-based integration project for Android & setup new CI pipeline for the project #178
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
Conversation
19bd2db to
529acfc
Compare
|
Wow! Cool stuff! But do you want to ruin my Sunday with an early Christmas present?! |
|
@mannodermaus thanks again for the great work! Thoughts: The test results in CircleCI are only containing the method name. Is it possible to have at least the class name as well? I suggest we make a sequence (via requires): maven, API 26, API 30. It does not make sense to run the Android test, if the normal tests fail already. The additional delay is okay. Is it possible to have a separate badge for the Android test? Or even one for API 26 and another for API 30? |
5decc54 to
4face04
Compare
Signed-off-by: Marcel Schnelle <[email protected]>
- Introduce Android module using Gradle 7.3 to the project - Configure basic structure of JUnit 5-based Android module - Add a temporary instrumentation test to verify the integration - Execute cache2k test suite on Android - Add some build logic for connecting Maven to Gradle - Add a dummy to androidTest in order to trick Android into executing the entire test suite, including those pulled in from JAR files Signed-off-by: Marcel Schnelle <[email protected]>
Run Maven tests in parallel with Android tests (API 26 & 30) Signed-off-by: Marcel Schnelle <[email protected]>
Signed-off-by: Marcel Schnelle <[email protected]>
Signed-off-by: Marcel Schnelle <[email protected]>
Signed-off-by: Marcel Schnelle <[email protected]>
Signed-off-by: Marcel Schnelle <[email protected]>
4face04 to
c609b7c
Compare
Unfortunately, the test insights dashboard on Circle doesn't seem to care about the inclusion of class names in the XML report delivered to it. As it seems to be a beta feature, here's to hoping that they'll improve their integration with JUnit test reports eventually.
a51c943 updates it accordingly. Another run on my fork confirms the sequential execution.
Unfortunately, no. Circle badges operate on branches, so while it would be possible to have a badge dedicated to a specific branch, it's not possible to have it for individual steps of a workflow. That being said, I update to the shield-style design in a83b98e to make the Circle badge fit in with the others on the README: |

Add a new
test-android-gradleproject to the repository and weave in the existingcache2k-testsuitefor execution on Android devices and emulators. Replace the existing CI pipeline with a new connection to CircleCI. Note that I did not remove the existing.travis.ymlhere, however we may want to consider doing that to complete the transition to Circle.An exemplary execution of the new CI pipeline can be found on my fork. I'm open to further clarifications regarding when these steps should be executed - at the moment, they run on any commit and PR.
This process was performed in several steps:
cache2k-testsuite, revert the deactivation of JAR output from its parent module (test-parent)androidTestdependencies to consume JUnit 4 and 5 in tandem (courtesy of android-junit5)androidTestsource set. This is required in order for the Android test instrumentation to start its work; otherwise it would not even detect cache2k's tests in the transitive JARcache2k-testsuiteand its transitive dependenciesREADME.mdResolves #143.