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

kobotoolbox / kpi / 27622545666
81%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/actions-deps-2d1112a488
DEFAULT BRANCH: master
Ran 16 Jun 2026 01:58PM UTC
Jobs 10
Files 915
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

16 Jun 2026 01:52PM UTC coverage: 81.988% (-0.02%) from 82.004%
27622545666

push

github

web-flow
feat(nlp): ensure maximum language support with per-language STT routing and GLOBAL/EU toggle DEV-2277 (#7154)

### 📣 Summary
Extends the Google ASR/MT location handling from
[kpi#7128](https://github.com/kobotoolbox/kpi/pull/7128) to support
every language Google offers. Instead of a fixed `us`/`eu` endpoint for
all languages, the code now routes each language to whichever Google
endpoint hosts its best available model. A new `GLOBAL`/`EU` Constance
toggle replaces the old `US`/`EU` toggle: `GLOBAL` (default) uses
per-language routing for maximum coverage; `EU` restricts all processing
to EU-hosted endpoints for data residency compliance.

### 📖 Description
[kpi#7128](https://github.com/kobotoolbox/kpi/pull/7128) re-implemented
the server-wide Google ASR/MT region setting (`ASR_MT_GOOGLE_REGION`)
and simplified routing to use a single fixed location: `us` for all
languages on non-EU servers and `eu` on EU servers.

However, this caused 24 languages to lose ASR support, languages like
Irish, Belarusian, Bosnian, and Somali that only have `chirp_2` model
support in specific Google sub-regions (`us-central1`, `europe-west4`)
and no model at all in the `us`/`eu` multi-region endpoints.

Because we cannot lose support for these 24 languages, we decided to
implement the following approach instead:
1. Global mode (default): Support every language that Google supports by
routing each language to the endpoint that provides the best available
model.
2. EU mode: Use the best available model within EU-hosted endpoints
only. Languages that are not available in any EU endpoint are considered
unsupported on EU servers.

In `GLOBAL` mode, the code reads `location_code` per language from the
database (populated by the language spreadsheet, which stores the
correct global location for each model). In EU mode, the code overrides
the DB location at runtime using the table above via
`EU_LOCATION_BY_MODEL` in `locations.py`.
---------

Co-authored-by: Olivier Léger <olivi... (continued)

9246 of 12487 branches covered (74.05%)

9 of 26 new or added lines in 2 files covered. (34.62%)

2 existing lines in 1 file now uncovered.

30552 of 37264 relevant lines covered (81.99%)

5.72 hits per line

Uncovered Changes

Lines Coverage ∆ File
12
20.83
-0.72% kobo/apps/subsequences/integrations/google/google_transcribe.py
5
57.69
-5.94% kobo/apps/subsequences/integrations/google/locations.py

Coverage Regressions

Lines Coverage ∆ File
2
20.83
-0.72% kobo/apps/subsequences/integrations/google/google_transcribe.py
Jobs
ID Job ID Ran Files Coverage
1 27622545666.1 16 Jun 2026 01:58PM UTC 911
53.52
2 27622545666.2 16 Jun 2026 01:58PM UTC 911
51.91
3 27622545666.3 16 Jun 2026 01:59PM UTC 913
53.13
4 27622545666.4 16 Jun 2026 01:59PM UTC 913
54.77
5 27622545666.5 16 Jun 2026 02:00PM UTC 911
59.38
6 27622545666.6 16 Jun 2026 02:00PM UTC 911
52.15
7 27622545666.7 16 Jun 2026 02:00PM UTC 913
53.5
8 27622545666.8 16 Jun 2026 02:01PM UTC 913
66.06
9 27622545666.9 16 Jun 2026 02:02PM UTC 913
60.52
10 27622545666.10 16 Jun 2026 02:05PM UTC 915
68.36
Source Files on build 27622545666
  • Tree
  • List 915
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • e6800204 on github
  • Prev Build on release/2.026.21 (#27415076380)
  • Next Build on release/2.026.21 (#27635283588)
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