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

kobotoolbox / kpi / 30433098130 / 4
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/actions-deps-8dc637349b
DEFAULT BRANCH: master
Ran 29 Jul 2026 07:57AM UTC
Files 892
Run time 26s
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: 53.975% (+4.6%) from 49.354%
30433098130.4

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)

5263 of 12727 branches covered (41.35%)

20308 of 37625 relevant lines covered (53.97%)

0.54 hits per line

Source Files on job 30433098130.4
  • Tree
  • List 892
  • Changed 193
  • Source Changed 0
  • Coverage Changed 193
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 30433098130
  • ecb1893c on github
  • Prev Job for on main (#30390950439.1)
  • Next Job for on main (#30434650272.4)
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