Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

release: wait longer for npm to expose published client packages before failing

未关闭 适合新手
#2,248 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
74/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
github-actions, python
领域
ci-cd, release

调研方向

从 .github/workflows/release.yml 中的 release job 和 release/scripts/test_release_workflow_structure.py 中的 workflow 结构检查开始。找出平台和 root 包的公开截止时间及其轮询消息。延长截止时间,每分钟报告仍未出现的包,保留完整性不匹配时立即失败的行为,然后运行指定的结构测试。

由索引模型根据 Issue 内容生成。

描述

area:release bug

Why

The v0.42.0 publication run failed its npm job on the first attempt. The job "Reconcile platform packages, then publish the root package" (.github/workflows/release.yml) publishes the platform packages, then polls client_registry.py npm-state for each one until the exact version is exposed, giving up after 600 seconds (platform_deadline=$((SECONDS + 600))). It failed with:

npm did not expose exact platform package registrystack-client-linux-arm64-gnu-0.42.0.tgz

All three platform packages had been published. The root package had not, because the job stops before publishing it. A few minutes later every platform version endpoint returned the exact integrity. The supported recovery (verify-recovery, then publish --plan ... --wait) reconciled the published platforms and published the root package with no change, so the release completed. That still cost a second protected-environment approval and about 15 minutes.

npm's per-version endpoint can lag past ten minutes after a successful npm publish. The deadline treats that lag as a failure, but the recovery path shows it is not one.

Change

  • Raise the platform and root exposure deadlines, for example to 30 minutes, and print a progress line every minute naming the packages still absent.
  • Keep the fail-closed behaviour: an exposed package whose integrity differs from the candidate still fails at once, and nothing is republished.
  • Cover the change in release/scripts/test_release_workflow_structure.py.

Acceptance

A publication whose platform packages take more than ten minutes to appear completes in one run, and the failure for an integrity mismatch is unchanged.

主要语言
Rust
星标
2
派生
0
平均合并
9 小时 19 分钟
30 天内合并 PR
275

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

registrystack/registry-stack 的其他 Issue

查看 registrystack/registry-stack 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。