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

Update to ODK Collect v2024.3.3 release #14

Open
wants to merge 789 commits into
base: master
Choose a base branch
from

Conversation

tiritea
Copy link

@tiritea tiritea commented Jan 13, 2025

Closes #

Why is this the best possible solution? Were any other approaches considered?

Updates KoboCollect to latest changes contained in ODK Collect v2024.3.3, plus requisite Kobo rebranding (reapplied as needed)

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

Have run the base ODK unit and most UI tests, after applying Kobo rebranding changes. Baseline tests behave the same as pristine ODK Collect v2024.3.3. All identified tests that now fail are due to rebranding not being applied to the testcase asserts; the core functionality remains correct and consistent with base ODK Collect v2024.3.3 behavior.

However, I have been unable to reliably run all the automated UI tests, due to a recurring OOM (out-of-memory) error from gradle, after about 100 tests. I've attempted to force gradle to run everything serially and continue after failures (specificallly, gradle Pparallel=1 --max-workers=1 --continue ) but this doesn't appear to make much difference. Running the individual testcases that fails - due to reported OOM error - always succeed. So I believe these failures are a consequence of gradle attempting to run the entire testsuite and possibly not cleaning up after each testcase.

Note, this same behavior is observed attempting to run connectedAndroidTest against an unmodified ODK Collect fork. It is also of note that this behavior is new; I was able to successfully run the entire automated UI tests (both customized KoboCollect as well as base ODK Collect) in previous v2024.2.4.

I have also successfully run multiple regression test forms, including the de facto all-widgets form, against rebranded KoboCollect.

Do we need any specific form for testing your changes? If so, please attach one.

no Kobo-specific test forms required; base KoboCollect functionality remains same as ODK Collect.

Does this change require updates to documentation? If so, please file an issue here and include the link below.

TDB if any of the new functionality exposed by ODK Collect needs to be specifically called out in KoboToolbox user doc. But we may want to update Kobo docs with the new features added in ODK Collect v2024.2.4 and v2024.3.3 (eg geofence)

Before submitting this PR, please make sure you have:

  • [na] added or modified tests for any new or changed behavior
  • run ./gradlew connectedAndroidTest (or ./gradlew testLab) and confirmed all checks still pass TO THE EXTENT POSSIBLE (see comments above)
  • [na] added a comment above any new strings describing it for translators
  • [na] added any new strings with date formatting to DateFormatsTest
  • [na] verified that any code or assets from external sources are properly credited in comments and/or in the about file.
  • [na] verified that any new UI elements use theme colors. UI Components Style guidelines

grzesiek2010 and others added 30 commits October 2, 2024 11:40
Include DynamicPreloadExtra in formDef only if a form contains search or pulldata
Stop creating entities with missing labels
grzesiek2010 and others added 30 commits November 15, 2024 22:20
Filter out case-insensitive duplicate properties
Don't require a label for Entity updates
Do not format entity values that are build using XPath expressions
Signed-off-by: Emmanuel Ferdman <[email protected]>
Fix list names with special characters
Address review comments for PR 6118, 6169, 6175
Update style guidelines in `CONTRIBUTING.md`
Do not create entities with blank labels
Fixed the filtering of duplicate columns
Throw an exception when there is an attempt to access file outside of Collect directory
Fixed the filtering of duplicate columns
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.

5 participants