A failed publish job permanently blocks retrying the same package version

Open
#793 5 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

A pull request for this has already been merged.

  • #794 by @thomashoneyman — merged

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active

Research direction

Start with the duplicate publish-job check in app/src/App/Server/Router.purs, around lines 82–89, and trace how job status and publish payload are used. The report identifies failed completed jobs as blocking retries, but leaves open whether they should be requeued, excluded from duplicate detection, or compared by payload; clarify the intended behavior before making a change. Done means a corrected publish can be processed and the unrelated historical issue reference is addressed if in scope.

Written by the indexing model from the issue text.

Description

I attempted to publish [email protected].

The original publish failed because its location used a monorepo subdir:

I moved the package to a standalone repository and updated the manifest:

The standalone repository's main branch and v0.2.0 tag both point to the corrected package.

However, retrying spago publish -p puppy-runtime returns the original failed job and prints its old logs. The corrected location is never processed.

The API appears to identify duplicate publish jobs only by package name and version, including completed failed jobs:

https://github.com/purescript/registry-dev/blob/master/app/src/App/Server/Router.purs#L82-L89

Could the failed job be removed or requeued so that [email protected] can be published from the corrected location?

More generally, should completed failed jobs be excluded from duplicate detection, or should a changed payload be allowed to create a new job?

One additional detail: the failure message says “See issue #16”, but registry-dev issue #16 is closed and concerns a different historical topic.

Dominant language
PureScript
Stars
95
Forks
79
Avg merge
16h 13m
Merged PRs (30d)
14

Getting set up

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.

More from purescript/registry-dev

All issues in purescript/registry-dev

Similar issues

More Backend & API Design issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.