• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

kobotoolbox / kpi / 26397704122
43%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dev-837-merge-routers-into-one
DEFAULT BRANCH: master
Ran 25 May 2026 11:21AM UTC
Jobs 1
Files 912
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 May 2026 11:16AM UTC coverage: 51.09% (-30.9%) from 82.009%
26397704122

Pull #7080

github

web-flow
Merge 3bf1345f8 into 5f1e8e4a7
Pull Request #7080: feat(bulkProcessing): implement background execution and polling for bulk actions DEV-1494

3782 of 10420 branches covered (36.3%)

33 of 212 new or added lines in 4 files covered. (15.57%)

4817 existing lines in 175 files now uncovered.

16646 of 32582 relevant lines covered (51.09%)

0.59 hits per line

Uncovered Changes

Lines Coverage ∆ File
137
16.92
-9.91% kobo/apps/subsequences/tasks.py
24
43.28
-3.16% kobo/apps/subsequences/models.py
18
30.2
-2.04% kobo/apps/subsequences/serializers.py

Coverage Regressions

Lines Coverage ∆ File
321
0.0
-90.68% kobo/apps/openrosa/apps/viewer/pandas_mongo_bridge.py
228
44.14
-41.76% kobo/apps/openrosa/libs/utils/logger_tools.py
215
18.97
-52.96% kobo/apps/openrosa/libs/utils/export_tools.py
206
0.0
-86.19% kobo/apps/openrosa/libs/utils/briefcase_client.py
193
57.89
-21.44% kpi/utils/query_parser/canopy_autogenerated_parser/__init__.py
117
61.73
-19.47% kpi/models/import_export_task.py
102
35.5
-51.0% kpi/utils/xml.py
99
30.19
-62.26% kobo/apps/openrosa/apps/api/permissions.py
97
29.35
-48.26% kobo/apps/project_ownership/models/transfer.py
93
42.11
-48.95% kobo/apps/openrosa/apps/api/viewsets/xform_list_api.py
87
0.0
-87.88% kobo/apps/openrosa/libs/utils/backup_tools.py
86
28.67
-60.14% kobo/apps/openrosa/apps/viewer/views.py
81
33.11
-53.64% kobo/apps/openrosa/apps/api/viewsets/briefcase_api.py
77
0.0
-77.78% kpi/password_validation.py
71
33.62
-61.21% kobo/apps/openrosa/libs/filters.py
70
23.4
-74.47% kpi/utils/xlsform_preprocessors/kobomatrix_handler.py
67
59.08
-10.97% kpi/serializers/v2/asset.py
66
32.23
-54.55% kobo/apps/openrosa/apps/api/viewsets/data_viewset.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
59
46.96
-51.3% kobo/apps/openrosa/apps/api/viewsets/xform_submission_api.py
58
0.0
-90.63% kobo/apps/openrosa/libs/data/query.py
52
34.81
-32.91% kobo/apps/openrosa/apps/api/viewsets/xform_viewset.py
50
0.0
-47.17% kobo/apps/openrosa/apps/logger/tasks.py
50
83.83
-8.79% kpi/models/asset.py
49
28.57
-43.75% kobo/apps/openrosa/apps/logger/views.py
46
54.92
-37.7% kobo/apps/openrosa/libs/serializers/xform_serializer.py
45
57.09
-17.72% kobo/apps/openrosa/apps/viewer/models/parsed_instance.py
44
45.72
-16.36% kobo/apps/openrosa/apps/viewer/models/data_dictionary.py
44
60.05
-10.92% kpi/deployment_backends/base_backend.py
41
23.29
-56.16% kobo/apps/openrosa/libs/utils/image_tools.py
40
0.0
-40.82% kobo/apps/openrosa/apps/viewer/xls_writer.py
39
23.08
-30.0% kobo/apps/openrosa/apps/viewer/tasks.py
39
40.36
-6.43% kpi/deployment_backends/openrosa_backend.py
39
35.2
-31.2% kpi/models/paired_data.py
37
61.11
-29.37% kobo/apps/openrosa/apps/logger/signals.py
37
35.71
-22.02% kobo/apps/openrosa/apps/main/models/meta_data.py
37
32.97
-40.66% kobo/apps/openrosa/libs/serializers/metadata_serializer.py
37
38.83
-35.92% kpi/utils/usage_calculator.py
36
24.49
-73.47% kobo/apps/openrosa/apps/logger/import_tools.py
36
55.29
-42.35% kobo/apps/openrosa/libs/renderers/renderers.py
36
58.92
-9.73% kpi/views/v2/asset.py
35
18.75
-72.92% kpi/utils/xlsform_preprocessors/koborank_handler.py
34
37.96
-31.48% kobo/apps/openrosa/apps/logger/utils/instance.py
33
49.51
-32.04% kobo/apps/openrosa/apps/viewer/models/export.py
30
0.0
-75.0% kobo/apps/openrosa/apps/django_digest_backends/cache.py
30
44.29
-42.86% kpi/utils/cache.py
29
30.14
-19.86% kobo/apps/openrosa/libs/utils/viewer_tools.py
29
64.65
-29.29% kpi/utils/django_orm_helper.py
29
21.95
-70.73% kpi/utils/xlsform_preprocessors/koboscore_handler.py
28
41.27
-44.44% kobo/apps/openrosa/libs/serializers/data_serializer.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
27
34.0
-54.0% kobo/apps/data_collectors/authentication.py
27
49.06
-50.94% kobo/apps/openrosa/libs/serializers/attachment_serializer.py
27
16.67
-18.0% kobo/apps/project_ownership/utils.py
26
35.71
-61.9% kobo/apps/openrosa/libs/mixins/labels_mixin.py
26
27.78
-72.22% kobo/apps/openrosa/libs/utils/decorators.py
26
71.72
-17.93% kpi/utils/query_parser/query_parser.py
24
40.0
-53.33% kpi/fields/jsonschema_form_field.py
23
55.46
-19.33% kobo/apps/openrosa/apps/logger/models/attachment.py
23
70.41
-11.73% kobo/apps/openrosa/apps/logger/models/instance.py
23
60.41
-11.68% kpi/mixins/formpack_xlsform_utils.py
23
52.38
-18.25% kpi/utils/autoname.py
23
51.06
-48.94% kpi/views/v2/authorized_application_user.py
22
31.58
-38.6% kpi/utils/mailer.py
21
0.0
-70.0% kobo/apps/audit_log/tasks.py
21
23.08
-53.85% kpi/utils/asset_translation_utils.py
21
40.58
-30.43% kpi/utils/data_exports.py
21
26.47
-61.76% kpi/utils/export_cleanup.py
20
29.67
-21.98% kobo/apps/openrosa/libs/utils/user_auth.py
19
51.22
-23.17% kobo/apps/accounts/mfa/views.py
19
38.24
-55.88% kpi/parsers.py
18
35.56
-40.0% kpi/fields/file.py
18
62.41
-13.53% kpi/paginators.py
18
37.84
-48.65% kpi/serializers/v2/create_user.py
18
37.93
-62.07% kpi/views/token.py
17
16.22
-45.95% kobo/apps/openrosa/apps/logger/utils/database_query.py
17
81.25
-6.64% kobo/apps/openrosa/apps/logger/xform_instance_parser.py
17
48.94
-18.09% kobo/apps/openrosa/libs/utils/middleware.py
17
46.99
-10.24% kobo/apps/organizations/views.py
15
20.0
-60.0% kobo/apps/openrosa/apps/api/utils/xml.py
15
31.71
-36.59% kobo/apps/openrosa/apps/logger/xform_fs.py
15
41.94
-48.39% kobo/apps/openrosa/libs/authentication.py
15
34.78
-65.22% kobo/apps/openrosa/libs/models/signals.py
15
69.76
-7.32% kpi/utils/mongo_helper.py
15
24.1
-18.07% kpi/utils/storage.py
14
0.0
-41.18% kobo/apps/accounts/mfa/adapter.py
14
44.0
-56.0% kobo/apps/openrosa/libs/utils/model_tools.py
14
67.27
-25.45% kpi/signals.py
13
37.14
-18.57% hub/utils/i18n.py
13
75.39
-6.81% kobo/apps/openrosa/apps/logger/models/xform.py
13
62.82
-16.67% kpi/authentication.py
13
52.87
-14.94% kpi/tasks.py
12
28.21
-30.77% kobo/apps/accounts/mfa/flows.py
12
42.11
-31.58% kobo/apps/data_collectors/signals.py
12
44.9
-24.49% kobo/apps/openrosa/apps/logger/utils/counters.py
12
70.0
-30.0% kobo/apps/openrosa/libs/serializers/user_profile_serializer.py
12
43.06
-16.67% kobo/apps/project_ownership/serializers/invite.py
12
71.83
-16.9% kpi/utils/sluggify.py
11
62.5
-34.38% kobo/apps/openrosa/apps/api/viewsets/attachment_viewset.py
11
91.36
-3.06% kpi/mixins/object_permission.py
11
28.09
-3.09% kpi/serializers/v2/asset_permission_assignment.py
11
55.56
-40.74% kpi/utils/xlsform_preprocessors/base_handlers.py
10
64.98
-2.42% kobo/apps/audit_log/models.py
10
58.33
-41.67% kobo/apps/openrosa/apps/api/viewsets/note_viewset.py
9
41.0
-9.0% kobo/apps/accounts/mfa/models.py
9
47.62
-21.43% kobo/apps/markdownx_uploader/models.py
9
30.56
-8.33% kobo/apps/openrosa/apps/api/tools.py
9
62.07
-31.03% kobo/apps/openrosa/apps/api/viewsets/metadata_viewset.py
9
67.61
-12.68% kobo/apps/project_ownership/models/invite.py
9
35.29
-52.94% kpi/serializers/v1/authorized_application_user.py
8
80.0
-7.62% kpi/utils/object_permission.py
8
52.94
-47.06% kpi/utils/strings.py
7
67.74
-22.58% kobo/apps/data_collectors/models.py
7
31.25
-43.75% kobo/apps/openrosa/libs/utils/string.py
7
76.4
-7.87% kobo/apps/reports/report_data.py
7
53.33
-46.67% kpi/maintenance_tasks.py
7
70.37
-25.93% kpi/models/extra_project_metadata_field.py
7
82.26
-11.29% kpi/utils/kobo_to_xlsform.py
6
66.67
-28.57% kobo/apps/openrosa/apps/api/viewsets/connect_viewset.py
6
69.57
-26.09% kobo/apps/openrosa/libs/permissions.py
6
43.75
-37.5% kobo/apps/project_ownership/filters.py
6
72.09
-13.95% kobo/apps/project_ownership/serializers/transfer.py
6
0.0
-100.0% kobo/apps/project_views/tasks.py
6
74.51
-11.76% kpi/context_processors.py
6
42.86
-42.86% kpi/mixins/asset.py
6
50.0
-14.29% kpi/utils/urls.py
5
83.64
-9.09% kobo/apps/openrosa/apps/logger/exceptions.py
5
72.22
-27.78% kobo/apps/openrosa/apps/logger/models/daily_xform_submission_counter.py
5
75.0
-25.0% kobo/apps/openrosa/apps/logger/models/monthly_xform_submission_counter.py
5
0.0
-38.46% kobo/apps/openrosa/apps/main/context_processors.py
5
50.0
-50.0% kobo/apps/openrosa/libs/mixins/openrosa_headers_mixin.py
5
66.67
-33.33% kobo/apps/openrosa/libs/serializers/note_serializer.py
5
30.0
-7.14% kobo/apps/organizations/permissions.py
5
47.22
-13.89% kobo/apps/organizations/tasks.py
5
90.2
-4.9% kpi/models/asset_file.py
5
81.03
-4.31% kpi/models/asset_snapshot.py
5
75.0
-20.83% kpi/models/authorized_application.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
4
63.33
-6.67% kobo/apps/openrosa/apps/main/models/user_profile.py
4
45.45
-36.36% kobo/apps/openrosa/koboform/__init__.py
4
22.69
-3.36% kobo/apps/stripe/utils/subscription_limits.py
4
89.47
-7.02% kpi/deployment_backends/mixin.py
4
94.25
-4.6% kpi/utils/asset_content_analyzer.py
4
33.33
-66.67% kpi/utils/chunked_delete.py
4
86.67
-13.33% kpi/utils/project_views.py
4
64.29
-14.29% kpi/utils/submission.py
3
78.43
-5.88% hub/models/extra_user_detail.py
3
80.0
-20.0% kobo/apps/openrosa/apps/viewer/signals.py
3
50.0
-37.5% kobo/apps/openrosa/libs/mixins/anonymous_user_public_forms_mixin.py
3
46.67
-20.0% kobo/apps/openrosa/libs/serializers/tag_list_serializer.py
3
59.39
-1.82% kobo/apps/organizations/models.py
3
88.57
-8.57% kobo/apps/project_views/models/project_view.py
3
16.92
-9.91% kobo/apps/subsequences/tasks.py
2
72.06
-1.47% kobo/apps/audit_log/signals.py
2
76.6
-4.26% kobo/apps/kobo_auth/models.py
2
61.54
-15.38% kobo/apps/openrosa/libs/utils/gravatar.py
2
91.3
-8.7% kobo/apps/project_ownership/views/invite.py
2
82.14
-7.14% kobo/urls.py
2
85.84
-1.77% kpi/exceptions.py
2
80.0
-20.0% kpi/mixins/mfa.py
1
63.64
-9.09% kobo/apps/accounts/mfa/permissions.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
0.0
-100.0% kobo/apps/openrosa/apps/logger/constants.py
1
75.0
-25.0% kobo/apps/openrosa/libs/utils/storage.py
1
57.89
-2.63% kobo/apps/organizations/utils.py
1
93.02
-2.33% kpi/backends.py
1
57.89
-2.63% kpi/db_routers.py
1
79.49
-2.56% kpi/deployment_backends/kc_access/storage.py
1
95.51
-1.12% kpi/deployment_backends/mock_backend.py
1
78.71
-0.5% kpi/filters.py
1
67.74
-3.23% kpi/mixins/standardize_searchable_field.py
1
92.0
-2.0% kpi/models/asset_version.py
1
50.7
-0.47% kpi/renderers.py
1
72.73
-4.55% kpi/utils/bugfix.py
1
75.0
-6.25% kpi/utils/drf_exceptions.py
Jobs
ID Job ID Ran Files Coverage
1 26397704122.1 25 May 2026 11:21AM UTC 912
51.8
Source Files on build 26397704122
  • Tree
  • List 912
  • Changed 311
  • Source Changed 0
  • Coverage Changed 311
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #7080
  • PR Base - main (#26371466996)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc