paritytech / paritytech/decentralize

E2E Chain Validation has failed nightly since 2026-09-02: pinned bulletin-deploy 0.15.0 predates the DotNS redeploy fix

Open Beginner friendly
#4 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
10h 50m
Merged PRs (30d)
3

Description

Hello from the bulletin-deploy side — flagging this because you likely have not seen it, and the fix is one line.

What is happening

E2E Chain Validation has failed every night since 2026-09-02:

2026-09-01 03:31  success   ← last green
2026-09-02 03:29  failure
2026-09-03 04:41  failure
2026-09-04 03:28  failure
2026-09-05 03:27  failure
2026-09-06 03:28  failure
2026-09-07 03:30  failure

Every run fails with the same error, visible in our telemetry:

Contract execution would revert during startingPrice on POP_RULES
  contract: 0x747B456bE03aec0b42bd85C51513730FBD45DA31

Why

DotNS was redeployed on paseo-next-v2 on 2026-09-01 — the day your last green run happened. The new deployment removed the PopRules.startingPrice() function and replaced it with a per-label price() plus a versioned pricing tuple.

package.json pins:

"dependencies": { "bulletin-deploy": "0.15.0" }

0.15.0 calls startingPrice() unconditionally. That function no longer exists on the contract, so the call reverts before anything is deployed.

This is not specific to your repo — it broke every consumer on paseo-next-v2 at the same moment. We shipped a fix in 0.16.1 (2026-09-02) that detects which DotNS generation an environment runs and routes through the matching adapter, so a single version now works against both.

The fix

-  "bulletin-deploy": "0.15.0"
+  "bulletin-deploy": "0.17.0"

Current @latest is 0.17.0 (released 2026-09-04). Nothing else should need to change — your workflow's deploy invocation is unaffected.

Three behaviour notes in 0.16.x → 0.17.0 that are unlikely to matter here but worth a glance:

  • isAutoReauthorizeAllowed became an allowlist requiring network: "testnet" explicitly. Only affects library callers passing bulletinAutoAuthorize.
  • Non-interactive phone-confirmation failures now exit 78 rather than 1. Only reachable with a session-based signer, not your pool-fallback path.
  • Your first deploy after upgrading may re-upload slightly more than usual, once. A filename-hash classification bug meant some bundled assets were re-uploaded on every deploy; fixing it shifts chunk boundaries a single time, then they settle. Subsequent deploys upload less than before.

One suggestion, offered lightly

Your workflow comments say the pin is deliberate — reproducibility over "latest" — which is a completely reasonable default and we do the same in places.

The wrinkle is that bulletin-deploy talks to a live chain, and the chain moves independently of your pin. A pinned client plus a moving chain means a pin is not actually reproducible over time: it reproduces the client, while the thing it talks to changes underneath. That is precisely what happened here — the pin held perfectly and the environment moved.

Options, in increasing order of effort:

  • Pin to a caret range (^0.17.0) so patch and minor fixes arrive automatically. Chain-compatibility fixes have consistently been patch or minor for us.
  • Keep the exact pin, but treat a red nightly as actionable rather than ambient — six consecutive failures went unnoticed, which suggests the signal is not reaching anyone.
  • Call our reusable workflow (paritytech/bulletin-deploy/.github/workflows/deploy.yml@<tag>) instead of invoking the CLI directly, so a bump is one tag change and you inherit fixes without tracking our internals.

Happy to help with any of these, or to answer questions. Filed from a telemetry sweep on our side, not from anything you did wrong.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in package.json and inspect the E2E Chain Validation workflow's deploy invocation. Change the bulletin-deploy pin from 0.15.0 to 0.17.0, then rerun the workflow and confirm that chain validation completes successfully without the startingPrice revert.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, typescript
Domain
ci-cd
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
92/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.