Skip to content

P0: releases/latest (v0.145.0) is missing every raw binary and every dign-* CLI asset — fresh installs 404 #335

Description

@MichaelTaylor3d

Task

releases/latest for dig-node is v0.145.0, and that release is missing 10 of the 14 assets
v0.144.1 shipped — including every raw binary and every dign-* CLI asset. dig-installer resolves
both dig-node and dign through releases/latest, so a fresh install is broken right now.

Measured 2026-08-24

asset on v0.145.0 result
dig-node-0.145.0-linux-x64 404
dign-0.145.0-linux-x64 404
dig-node-0.145.0-windows-x64.exe 404
control: dign-0.144.1-linux-x64 on v0.144.1 200

v0.145.0 carries only the three native installers plus a second .deb:
dig-node-0.145.0-macos.pkg, dig-node-0.145.0-windows-x64.msi, dig-node_0.145.0_amd64.deb,
dig-node_0.145.0_arm64.deb. v0.144.1 has 14 assets including dig-node-0.144.1-{linux-arm64, linux-x64, macos-arm64, macos-x64, windows-x64.exe} and dign-0.144.1-* for all five platforms.

dig-installer/src/release.rs:187 resolves https://api.github.com/repos/{}/{}/releases/latest, and
:59 / :78 declare the dig-node and dign stems against that repo — so the installer asks for
exactly the assets that now 404.

Two defects, and the second is worse than the first

1. The assets were never attached. Job "Nightly — native packages / Attach packages to the
release"
reports skipped in run 32679750245. Establish why it was skipped on a schedule event
when the stable job it feeds did run — a guard that assumes stable is dispatch-only would do it, and
this repo's stable job does run on schedule (nightly-release.yml:80 includes
github.event_name == 'schedule').

2. The gate that exists to catch this PASSED. Job "Stable — verify release assets / Verify
v0.145.0 carries the …"
reported success on a release missing every raw binary and every CLI. That
is the more dangerous defect: the verification is either checking only the native packages, or checking
build artifacts rather than release assets. A watcher reading the run also called it GREEN, citing
build logs showing dign-0.145.0-* built for five platforms — built is not attached.

Fix the verifier so it enumerates the actual release assets and fails when the set is smaller than
the previous release's. A verify job that cannot fail on a missing asset is not a gate.

Do

  1. Restore the assets on v0.145.0 — re-run the attach step, or attach them, so releases/latest
    serves a complete set. This is the user-facing half and it comes first.
  2. Fix the skipped attach step so a scheduled stable cut attaches everything a dispatched one does.
  3. Fix the verify job so it compares the release's real asset list against the expected platform
    matrix, and prove it fails on an incomplete release before calling it fixed.
  4. Confirm by fetching each asset through GitHub's redirect and matching Content-Length — never by
    a run conclusion, and never from build logs.

Scope + coordination

A live dig-node lane owns src/ on PR#334. You own .github/workflows/** only — do not touch
src/, and rebase before merging. If a version bump is required by the version-increment gate, take the
smallest patch bump and say so, expecting to rebase.

Rules

  • Branch, stub commit + push + draft PR first. Gate with
    .claude/scripts/check-merge-preconditions.sh --repo DIG-Network/dig-node --pr N --undraft-on-success
    on the EXIT CODE.
  • dig-node's midnight cron cuts a real stable release unattended, so whatever lands on main reaches
    users at 00:00Z. The merge gate is the last line of defence here, not the first of two.
  • Never set user.name/user.email at any scope. Never hand-push a tag.
  • A red publish job can be an intentional guard — read what it asserts before changing it.

Parent: https://github.com/DIG-Network/dig_ecosystem/issues/1701 (needs dign export-seed reachable
from a published binary) and the installer path via
DIG-Network/dig-installer#73.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:businessa person can DO something new, or money moves, or a shipped surface stops lying to them

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions