• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kobotoolbox / kpi / 25505530321
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 07 May 2026 03:37PM UTC
Jobs 10
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

07 May 2026 03:29PM UTC coverage: 81.906% (-0.08%) from 81.982%
25505530321

push

github

web-flow
feat(nlp): add bulk-aware async workflow to `GoogleTranslationService` DEV-1420 (#6976)

### 📣 Summary
Enhance `GoogleTranslationService` to support bulk-aware translation
workflows by reusing and polling existing asynchronous operations
instead of creating duplicate jobs.

### 📖 Description
This PR updates the translation workflow to align with the bulk-aware
processing model introduced for transcription.

The implementation introduces support for an optional `bulk_action_uid`
parameter in `process_data()`. When provided, the service reuses or
polls an existing Google batch translation operation instead of creating
a new one. This prevents duplicate jobs and enables consistent tracking
across retries.


### 💭 Notes
- Translation already uses Google Translate v3 API, this PR does not
change the API version.
- Database-backed tracking (`SubsequenceBulkActionItem`) is not yet
implemented, so cache is used as a temporary fallback.

9095 of 12249 branches covered (74.25%)

89 of 188 new or added lines in 3 files covered. (47.34%)

976 existing lines in 66 files now uncovered.

29981 of 36604 relevant lines covered (81.91%)

5.75 hits per line

Uncovered Changes

Lines Coverage ∆ File
92
53.05
22.05% kobo/apps/subsequences/integrations/google/google_translate.py
7
43.16
21.86% kobo/apps/subsequences/integrations/google/google_transcribe.py

Coverage Regressions

Lines Coverage ∆ File
103
77.09
-16.69% kpi/serializers/v2/asset.py
99
61.78
-12.52% kpi/deployment_backends/openrosa_backend.py
72
60.5
-36.0% kpi/utils/xml.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
47
49.09
-42.73% kpi/views/v2/paired_data.py
46
50.7
-21.4% kpi/renderers.py
40
77.57
-10.54% kpi/views/v2/asset.py
36
47.5
-30.0% kobo/apps/project_views/views.py
32
50.75
-47.76% kpi/views/v2/asset_export_settings.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
27
45.16
-43.55% kpi/views/v2/attachment.py
26
27.5
-65.0% kpi/serializers/v2/attachment_delete.py
23
81.18
-3.87% kpi/models/import_export_task.py
21
0.0
-70.0% kobo/apps/audit_log/tasks.py
21
38.33
-35.0% kpi/serializers/v2/asset_export_settings.py
19
33.33
-63.33% kpi/utils/paired_data.py
15
80.8
-12.0% kpi/models/paired_data.py
15
85.67
4.21% kpi/serializers/v2/asset_permission_assignment.py
15
63.7
-10.37% kpi/views/v2/asset_snapshot.py
14
78.91
-3.47% kpi/deployment_backends/base_backend.py
13
37.14
-18.57% hub/utils/i18n.py
13
40.0
-43.33% kpi/serializers/v2/asset_counts.py
12
42.11
-31.58% kobo/apps/data_collectors/signals.py
12
92.02
-4.23% kpi/permissions.py
11
78.63
-4.27% kpi/serializers/v2/export_task.py
10
33.33
-37.04% kpi/mixins/audio_transcoding.py
8
76.19
-19.05% kpi/serializers/v2/deployment.py
7
67.74
-22.58% kobo/apps/data_collectors/models.py
7
81.08
-18.92% kobo/apps/project_views/serializers.py
7
74.07
-25.93% kpi/views/v2/attachment_delete.py
7
76.6
-14.89% kpi/views/v2/import_task.py
6
82.41
-5.56% kpi/serializers/v2/paired_data.py
6
80.0
-20.0% kpi/serializers/v2/tag.py
6
78.54
-2.93% kpi/utils/mongo_helper.py
6
76.47
-17.65% kpi/utils/rename_xls_sheet.py
6
37.35
-4.82% kpi/utils/storage.py
6
88.68
-11.32% kpi/views/v2/export_task.py
5
64.98
-1.21% kobo/apps/audit_log/models.py
5
76.0
-20.0% kpi/views/v2/asset_submission_counts.py
5
61.54
-38.46% kpi/views/v2/logout.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
4
91.03
-1.28% kpi/authentication.py
4
92.71
-0.36% kpi/models/asset.py
4
85.34
-3.45% kpi/models/asset_snapshot.py
4
95.24
-3.57% kpi/serializers/v2/service_usage.py
4
87.62
-3.81% kpi/utils/object_permission.py
4
86.62
7.69% kpi/views/v2/data.py
3
78.43
-5.88% hub/models/extra_user_detail.py
3
90.53
-3.16% kpi/views/v2/asset_permission_assignment.py
3
86.67
-10.0% kpi/views/v2/asset_version.py
2
43.16
21.86% kobo/apps/subsequences/integrations/google/google_transcribe.py
2
82.14
-7.14% kobo/urls.py
2
85.71
-9.52% kpi/fields/writable_json.py
2
96.3
-3.7% kpi/mixins/xls_exportable.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
53.05
22.05% kobo/apps/subsequences/integrations/google/google_translate.py
1
96.43
-3.57% kobo/apps/subsequences/utils/supplement_data.py
1
90.0
-10.0% kpi/mixins/mfa.py
1
94.71
-0.28% kpi/mixins/object_permission.py
1
75.0
-8.33% kpi/mixins/validation_password_permission.py
1
98.04
-0.98% kpi/models/asset_file.py
1
81.25
0.0% kpi/utils/drf_exceptions.py
1
50.0
-50.0% kpi/utils/export_task.py
1
93.33
-6.67% kpi/views/v2/asset_usage.py
1
91.67
-8.33% kpi/views/v2/open_rosa.py
1
96.55
-3.45% kpi/views/v2/tag.py
Jobs
ID Job ID Ran Files Coverage
1 25505530321.1 07 May 2026 03:37PM UTC 908
52.24
2 25505530321.2 07 May 2026 03:38PM UTC 910
53.44
3 25505530321.3 07 May 2026 03:38PM UTC 908
53.84
4 25505530321.4 07 May 2026 03:38PM UTC 910
65.87
5 25505530321.5 07 May 2026 03:39PM UTC 910
55.07
6 25505530321.6 07 May 2026 03:40PM UTC 908
52.54
7 25505530321.7 07 May 2026 03:41PM UTC 910
53.86
8 25505530321.8 07 May 2026 03:42PM UTC 912
68.07
9 25505530321.9 07 May 2026 03:45PM UTC 910
60.91
10 25505530321.10 07 May 2026 03:45PM UTC 908
59.8
Source Files on build 25505530321
  • Tree
  • List 912
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • bd1e4ffb on github
  • Prev Build on main (#25441828128)
  • Next Build on main (#25516337928)
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