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

Country smoke CI fails: the pinned policyengine-us 1.824.1 is no longer on PyPI

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

维护者通常 2 天内回复

已经有一个关联 PR 被合并了。

  • #620 来自 @anth-volk —— 已合并

评估

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

调研方向

从 .github/requirements/legacy-country-smoke.txt 开始,该文件固定了 policyengine-us、policyengine-uk 和 spm-calculator;同时查看 .github/workflows 下工作流中的“Install Core and the legacy country smoke bundle”步骤。将美国的版本固定改为 2.42.13,将 spm-calculator 改为 1.0.0.post1,英国的版本固定保持不变。当该安装步骤能够成功解析,并且八个“Test Core and country packages”作业全部通过时,即视为完成。issue 中后续提出的选择,即保持版本固定为最新还是使用版本范围,由维护者决定。

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

描述

What fails

All eight "Test Core and country packages" jobs fail at the step "Install Core and the legacy country smoke bundle", on every PR. uv reports:

Because there is no version of policyengine-us==1.824.1 and you require policyengine-us==1.824.1, we can conclude that your requirements are unsatisfiable.

The same jobs passed on #569 and #570 at 14:15 UTC on 2026-10-14 and failed on both at 22:28 UTC. Neither PR changes dependencies, and master installs the same bundle.

Why the pin was so old

.github/requirements/legacy-country-smoke.txt has pinned three releases since #546 (2026-09-09):

  • policyengine-us==1.824.1
  • policyengine-uk==2.90.2
  • spm-calculator==0.3.1

Before #546, the job installed the latest country packages unpinned. #546 pinned the releases current at the time to protect the job:

  • spm-calculator's 1.x API was about to break US 1.824.1, which declared only spm-calculator>=0.2.0;
  • the unpinned installs needed a --no-deps workaround on Python 3.13 and 3.14.

#546 planned a separately qualified canonical bundle for later, but none was added. The pin stayed at 1.824.1 while policyengine-us moved to 2.x.

Why it broke now

Old policyengine-us releases are deleted from PyPI as space is needed, and 1.824.1 has been deleted:

Package Releases on PyPI Oldest kept
policyengine-us 193 2026-05-12
policyengine-uk 533 2022 (2.90.2 is still available)

Fix

Pin policyengine-us to its newest release, 2.42.13. Move spm-calculator to 1.0.0.post1, because US 2.42.13 requires spm-calculator>=1.0.0,<=1.0.0.post1. The UK pin is unchanged.

Follow-ups

  • The US pin will break again. Any exact policyengine-us pin stops resolving once that release is deleted. Two options:
    • keep the pin current, for example with a scheduled bump PR;
    • pin a range such as policyengine-us>=2.42,<3. That always installs a release that exists, at some cost to reproducibility. #546's original hazard no longer applies, because US 2.x bounds spm-calculator itself.
  • The names still say "legacy". The requirements file and the workflow step are named for a legacy bundle, although the bundle now holds the current US release.
主要语言
Python
星标
22
派生
30
平均合并
2 天 17 小时
30 天内合并 PR
26

环境准备

从这里开始

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

PolicyEngine/policyengine-core 的其他 Issue

查看 PolicyEngine/policyengine-core 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

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