paritytech / paritytech/decentralize
E2E Chain Validation has failed nightly since 2026-09-02: pinned bulletin-deploy 0.15.0 predates the DotNS redeploy fix
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:
isAutoReauthorizeAllowedbecame an allowlist requiringnetwork: "testnet"explicitly. Only affects library callers passingbulletinAutoAuthorize.- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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