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

构建完成后,向GitHub Release上传文件时应使用什么asset_path?

问题分析

你遇到的核心问题是:release 作业没有先下载之前 linux 作业上传的构建产物(artifact),直接尝试访问本地不存在的文件导致报错。

linux 作业通过 actions/upload-artifact@v4 上传的是 dist 目录下的所有wheel文件,artifact名称为 wheels-linux-${{ matrix.platform.target }}——GitHub Actions不会自动将artifact下载到后续作业,必须显式执行下载操作。

修复方案

方案1:下载产物后直接上传(推荐)

修改 release 作业,先下载对应平台的artifact,再将wheel文件上传到Release。同时注意 actions/upload-release-asset@v1 已废弃,改用更易用的 softprops/action-gh-release:

release:
  name: Release
  runs-on: ubuntu-latest
  if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
  needs: [linux, windows, macos]
  steps:
    # 下载Linux aarch64平台的artifact
    - name: Download Linux aarch64 wheels
      uses: actions/download-artifact@v4
      with:
        name: wheels-linux-aarch64
        path: dist-linux-aarch64

    # 下载Linux x86_64平台的artifact(按需添加)
    - name: Download Linux x86_64 wheels
      uses: actions/download-artifact@v4
      with:
        name: wheels-linux-x86_64
        path: dist-linux-x86_64

    # 批量上传所有wheel到Release
    - name: Upload to Release
      uses: softprops/action-gh-release@v1
      with:
        files: |
          dist-linux-aarch64/*.whl
          dist-linux-x86_64/*.whl
      env:
        GITHUB_TOKEN: ${{ github.token }}

方案2:下载后打包成zip再上传

如果确实需要上传zip包,可在下载后添加打包步骤:

release:
  name: Release
  runs-on: ubuntu-latest
  if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
  needs: [linux, windows, macos]
  steps:
    - name: Download Linux aarch64 wheels
      uses: actions/download-artifact@v4
      with:
        name: wheels-linux-aarch64
        path: wheels-linux-aarch64

    # 将wheel文件打包成zip
    - name: Zip Linux aarch64 wheels
      run: zip -r wheels-linux-aarch64.zip wheels-linux-aarch64/

    # 上传zip包到Release
    - name: Upload zip to Release
      uses: softprops/action-gh-release@v1
      with:
        files: wheels-linux-aarch64.zip
      env:
        GITHUB_TOKEN: ${{ github.token }}

关键注意点

  • 必须通过 actions/download-artifact 显式下载之前作业上传的artifact,否则release作业的运行环境中没有这些文件。
  • actions/upload-release-asset@v1 已被GitHub标记为废弃,softprops/action-gh-release 支持批量上传,配置更简洁。
  • 下载artifact时,path 参数指定的是下载后文件存放的本地目录,后续操作要基于这个路径访问文件。

内容的提问来源于stack exchange,提问作者Frank C.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:30:11