You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用release-please创建Python版本发布时无法自动更新uv.lock文件的问题

求助:使用release-please创建Python版本发布时无法自动更新uv.lock文件的问题

大家好,我最近在使用release-please做Python项目的版本自动化发布时遇到了一个小麻烦,想请社区的朋友们帮忙支个招。

我们项目现在用uv来管理Python包依赖,用release-please来自动生成发布版本和更新相关文件。目前release-please在创建GitHub发布时,只会自动更新以下几个文件:

  • .release-please-manifest.json
  • CHANGELOG.md
  • pyproject.toml

但我们的uv.lock文件里的包版本号并没有被同步更新,而我们希望这个锁文件的版本变更能和其他发布相关文件的修改放在同一个提交里,不想单独加一个额外的工作流步骤去更新它再提交。

我当前的release-please配置(release-please-config.json)

{
  "packages": {
    ".": {
      "package-name": "<OUR PACKAGE NAME>",
      "path": "src",
      "release-type": "python",
      "bump-minor-pre-major": true,
      "changelog-path": "CHANGELOG.md",
      "include-component-in-tag": false
    }
  },
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
}

GitHub工作流中的release-please集成配置

jobs:
  release-please:
    runs-on: [ubuntu-latest]
    outputs:
      releases_created: ${{ steps.release.outputs.releases_created }}
      release_created: ${{ steps.release.outputs.release_created }}
      release_id: ${{ steps.release.outputs.id }}
      release_name: ${{ steps.release.outputs.name }}
      release_tag_name: ${{ steps.release.outputs.tag_name }}
      release_sha: ${{ steps.release.outputs.sha }}
      release_body: ${{ steps.release.outputs.body }}
      release_html_url: ${{ steps.release.outputs.html_url }}
      release_draft: ${{ steps.release.outputs.draft }}
      release_upload_url: ${{ steps.release.outputs.upload_url }}
      release_path: ${{ steps.release.outputs.path }}
      release_version: ${{ steps.release.outputs.version }}
      release_major: ${{ steps.release.outputs.major }}
      release_minor: ${{ steps.release.outputs.minor }}
      release_patch: ${{ steps.release.outputs.patch }}
      release_pr_number: ${{ steps.release.outputs.prNumber }}
      paths_released: ${{ steps.release.outputs.paths_released }}
      prs_created: ${{ steps.release.outputs.prs_created }}
    steps:
      - name: release please
        uses: googleapis/release-please-action@a02a34c4d625f9be7cb89156071d8567266a2445 # ratchet:googleapis/release-please-action@v4
        id: release
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          config-file: release-please-config.json
          manifest-file: .release-please-manifest.json

已经尝试过的方法

我之前按照release-please的文档,在package的配置里添加了extra-files字段,把uv.lock加了进去,但尝试后发现并没有效果,uv.lock还是不会被自动更新版本号。

我们的核心诉求是:所有和版本发布相关的文件修改(包括uv.lock)都能被release-please统一处理,放在同一个提交/PR中,避免拆分操作带来的麻烦。不知道有没有朋友遇到过类似的问题,或者知道该怎么配置才能实现这个需求?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 06:57:57