Python SDK 发布
本文介绍如何通过 GitHub Action 自动化发布 dingtalk-stream 这个 SDK。
核心思想是通过 GitHub Release 触发 GitHub Action 执行,在 GitHub Action 中实现了自动化构建与发布。
步骤说明
- 更新版本号:按照规范,确定准备发布的版本号,例如 x.y.z。并将该版本号更新到
dingtalk_stream/version.py
的VERSION_STRING
中。- 建议:提交 Pull request 时候,把
dingtalk_stream/version.py
中的版本变更一同提交
- 建议:提交 Pull request 时候,把
- 创建 Release:在项目首页,点击右侧 Releases 后,点击
Draft a new release
,填写表单完成发布- 要求:对于常规发布,Release title 中只写版本号,格式为
vX.Y.Z
- 要求:如果是 Breaking change,需要 title 中备注,格式为
vX.Y.Z Breaking change
- 要求:对于常规发布,Release title 中只写版本号,格式为
- 检查 CI 结果:完成步骤 2 的 Release 之后,GitHub action 就会自动执行,可以进入 Actions 中检查构建状态及结果。
深入理解原理
该项目使用了 GitHub Actions 实现自动化构建与 NPM 发布。对应的构建脚本在 .github/workflows/publish.yml 中
触发条件(通过 GitHub release 触发):
on:
release:
types: [published]
构建脚本:
run: |
python setup.py sdist bdist_wheel
PYPI 发布的 Token,采用钉钉开放平台公共账号创建的 Access Token(通过 GitHub secrets 管理):
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}