Skip to content

extension-bundles publish isn't wired to core release, so init --with can 404 with an unhelpful error in the gap #534

Description

@jimhoyd

Split out of #532 for a standalone, independently-closable scope.

What's wrong

`urlcode init --with` auto-resolves `extension-bundles@v` with no fallback (that auto-resolve-with-no-fallback behavior is the intended hard rule from #526 -- not itself the bug here).

The bundle publish workflow (`.github/workflows/extension-bundles.yml`) only triggers on a manually pushed `extension-bundles@v*` tag or `workflow_dispatch`. It is not triggered by `release-core-dispatch.yml` or `candidate.yml`, so there is no guarantee the matching bundle release exists the moment a new core version ships. We confirmed this is a real, currently-manual-process-dependent window: 0.5.9's core release (`v0.5.9`, 17:31:26Z) and its matching bundle release (`extension-bundles@v0.5.9`, 17:40:48Z) landed ~9 minutes apart, not atomically.

If `init --with` runs during that window, `createGithubTransport`'s `release()` just throws `Could not fetch extension bundle release extension-bundles@v` -- a generic message that:

  • doesn't explain there's a known timing gap between core and bundle releases,
  • doesn't mention `--bundle-release ` as an escape hatch to pin an older, already-published, compatible release,
  • is indistinguishable from an auth failure, a network failure, or a genuinely nonexistent core version.

Suggested fix

  • Improve the error message on a failed release fetch to mention `--bundle-release ` as an explicit pin and suggest checking whether the bundle release for this core version has published yet.
  • Separately, decide whether `extension-bundles.yml` should be triggered automatically as part of the core release pipeline (closing the window entirely), or whether the ~9-minute manual-coordination gap is an accepted cost worth just documenting.

Related

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions