描述#
核心项目认可#
生态系统采用#
徽章#
项目可以通过包含 SPEC 徽章来突出显示其对本 SPEC 的采用。
[](https://scientific-python.cn/specs/spec-0005/)
|SPEC 5 — CI Best Practices|
.. |SPEC 5 — CI Best Practices| image:: https://img.shields.io/badge/SPEC-5-green?labelColor=%23004811&color=%235CA038
:target: https://scientific-python.cn/specs/spec-0005/
实施#
构建每日构建轮子#
通过构建和上传项目的轮子,您可以使依赖于您的项目更容易测试您的最新更改。然后,它们可以报告发现的问题。
为您的项目实施此功能需要执行以下几个步骤
- 获取对上传每日构建轮子的区域的访问权限
- 设置一个 CI 步骤,用于构建项目的轮子
- 设置一个 CI 步骤,用于将轮子上传到 https://anaconda.org/scientific-python-nightly-wheels/
对于步骤 (1),请联系 XXX。将您获得的令牌作为 存储库上的密钥 存储,名为 UPLOAD_TOKEN
。
步骤 (2) 的工作取决于您的项目。您可能已经在为您的版本执行此操作。要添加的新内容是,轮子的构建每天晚上或每周运行一次。
对于步骤 (3),您可以使用一个 GitHub Action。您可以在 https://github.com/scientific-python/upload-nightly-action 找到该 Action。要在您的“构建轮子工作流”中使用它,请添加以下行作为额外步骤
- name: Upload wheel
uses: scientific-python/upload-nightly-action@main
with:
artifacts_path: dist/
anaconda_nightly_upload_token: ${{ secrets.UPLOAD_TOKEN }}
备注#
-
建议针对 PR 运行的 CI 预期会通过——如果失败,则应该很重要
-
安排针对每日构建/预发布版本定期运行 CI
- 适用于不需要在每个 PR 上运行的其他检查
- 可用于固定版本
- 可以使用标签触发其他“特殊”作业的运行
- 可以在失败时打开一个问题,而不是隐藏在某个 UI 中——有助于提供通知
- 为工作流生成一个徽章,可以将其收集到仪表板中
-
GitHub Actions 安全问题
- 需要信任 Action 创建者
- 固定到哈希值与版本/标签?