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

Unleash / unleash / 39750498354
88%
master: 91%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 22 Oct 2026 08:52AM UTC
Jobs 1
Files 1245
Run time 1min
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

22 Oct 2026 08:47AM UTC coverage: 88.172% (+0.01%) from 88.162%
39750498354

push

github

web-flow
fix: fail add and update changes that can't apply

Applying a change request now fails when one of its changes can't be
applied, instead of skipping that change and showing the request as
`Applied`. The apply returns a 409 with the message "This change request
can't be applied: <reason>". Nothing from the request is saved. This
fixes
[EG-4732](https://linear.app/unleash/issue/EG-4732/the-change-request-executor-swallows-add-strategy-errors).
It's part 1 of 4 for
[EG-4816](https://linear.app/unleash/issue/EG-4816/propagate-compound-change-request-mutation-failures-to-the-transaction).

These changes used to be skipped when they failed: an added strategy
over the strategy limit or with a variant name that isn't URL friendly,
an added dependency on a parent in another project, and an update to a
strategy, a milestone strategy or variants whose target was gone. Now
each one fails the whole apply:
- A manual apply returns the 409 and leaves the request `Approved`. To
apply the rest, the author discards the failed change, which sends the
request back to review.
- A scheduled apply marks the schedule failed, and the email gives
conflicts as the reason.
- The playground's change request preview returns the same 409.

Any other change that can't be applied gets the same 409 instead of its
own 400, 403 or 404, for example enabling an archived flag or adding a
transitive dependency. Server errors still come through as they are.
`unleash-server` now exports `ConflictError` and `fromLegacyError`, so
the reason in the 409 matches the message the API gives for the error
behind it.

## Testing

In the e2e test, an update to a deleted strategy fails the apply with
the 409 and its reason, where `main` applied the request. The strategy
the same request adds rolls back with it, and the request stays
`Approved`. A new e2e test adds a strategy whose variant name isn't URL
friendly, and its apply returns the 409 with the variant's validation
message.

New unit tests on fake... (continued)

4073 of 5176 branches covered (78.69%)

16505 of 18719 relevant lines covered (88.17%)

873.98 hits per line

Jobs
ID Job ID Ran Files Coverage
1 39750498354.1 22 Oct 2026 08:52AM UTC 1245
88.17
GitHub Action Run
Source Files on build 39750498354
  • Tree
  • List 1245
  • Changed 2
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #39750498354
  • 764f3da3 on github
  • Prev Build on main (#39623525755)
  • Next Build on main (#39765881818)
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