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

kobotoolbox / kpi / 30433098130
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/actions-deps-8dc637349b
DEFAULT BRANCH: master
Ran 29 Jul 2026 07:54AM UTC
Jobs 10
Files 894
Run time 2min
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

29 Jul 2026 07:49AM UTC coverage: 81.967% (-0.01%) from 81.977%
30433098130

push

github

web-flow
fix(darker): fail the linter job when darker crashes DEV-1034 (#7316)

### 📣 Summary

No user-facing change — this fixes an internal code-quality check that
was reporting success even when it had not actually run.

### 📖 Description

The automated Python style check that runs on every code change could
fail to start and still report a green result, so problems it was meant
to catch could slip through unnoticed. It now reports a clear failure
whenever it cannot complete.

### 💭 Notes

The step captured darker's stdout and failed only when that string was
non-empty. Darker writes crash details to **stderr**, so every crash
produced empty stdout and took the `|| exit 0` branch. `shell:
/usr/bin/bash {0}` also dropped GitHub's default `-e -o pipefail`, so
nothing else could abort the step either.

- Trust darker's exit code instead of sniffing stdout — measured on the
pinned `darker[isort]==2.1.1`: clean run exits **0**, findings and
crashes exit non-zero.
- The comment justifying the workaround ("darker still exits with code 1
even with no errors") is stale and no longer true; removed so it doesn't
invite a re-fix.
- `shell: bash` (keyword form) restores `-e -o pipefail`.
- Added an explicit guard for an unresolvable base SHA: `git rev-list`
*succeeds* on a parentless commit, so `set -e` alone wouldn't catch it.

Verified locally against a scratch repo under `bash --noprofile --norc
-eo pipefail`:

| Scenario | rc | before | after |
|---|---|---|---|
| clean tree | 0 | ✅ pass | ✅ pass |
| bad formatting / flake8 finding | 1 | ❌ fail | ❌ fail |
| unknown revision | 128 | ✅ **silent pass** | ❌ fail |
| flake8 binary missing | 1 | ✅ **silent pass** | ❌ fail |
| darker binary missing | 127 | ✅ **silent pass** | ❌ fail |
| bad darker flag | 2 | ✅ **silent pass** | ❌ fail |
| base SHA unresolvable | — | ✅ **silent pass** | ❌ fail + `::error::` |

Follow-up to #6263, which pinned darker but left the silent-pass wrapper
in place. `darker.yml` was the only workfl... (continued)

9550 of 12864 branches covered (74.24%)

30908 of 37708 relevant lines covered (81.97%)

5.51 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
37.04
-0.93% kobo/apps/openrosa/apps/api/tools.py
1
72.73
-4.55% kpi/urls/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 30433098130.1 29 Jul 2026 07:54AM UTC 890
44.13
2 30433098130.2 29 Jul 2026 07:54AM UTC 890
52.72
3 30433098130.3 29 Jul 2026 07:55AM UTC 890
49.35
4 30433098130.4 29 Jul 2026 07:57AM UTC 892
53.97
5 30433098130.5 29 Jul 2026 07:57AM UTC 890
58.84
6 30433098130.6 29 Jul 2026 07:57AM UTC 892
67.12
7 30433098130.7 29 Jul 2026 07:57AM UTC 892
50.68
8 30433098130.8 29 Jul 2026 07:58AM UTC 892
45.48
9 30433098130.9 29 Jul 2026 07:58AM UTC 894
69.48
10 30433098130.10 29 Jul 2026 07:59AM UTC 892
59.99
Source Files on build 30433098130
  • Tree
  • List 894
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • ecb1893c on github
  • Prev Build on main (#30390950439)
  • Next Build on main (#30434650272)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc