GitHub Actions 排错实录:actions/upload-artifact@v3 导致工作流失败及解决方案

GitHub Actions 排错实录:actions/upload-artifact@v3 导致工作流失败及解决方案

前言

在进行 Vue 3 组件库的模拟实现项目 toy-element 过程中,我利用 GitHub Actions 搭建了 CI/CD 工作流,期望实现自动化测试和部署。然而,在首次推送代码并触发 Workflow 后,我遇到了一个棘手的问题:GitHub Actions 工作流中用于上传构建产物的 actions/upload-artifact@v3 步骤总是失败,导致整个工作流无法顺利完成。

本文将详细记录这个问题的排查过程、根本原因以及最终的解决方案,希望能为遇到类似问题的朋友提供一些帮助。

问题现象

我的 GitHub Actions 工作流 test-and-deploy.yaml 在执行到某个 Job 的 actions/upload-artifact@v3 步骤时,总是抛出错误并失败。具体的错误信息可能因日志细节而异,但核心都指向 upload-artifact 无法正常工作。

当时的 Workflow 片段大致如下(简化版):

yaml 复制代码
jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Install dependencies
        run: pnpm install --frozen-lockfile # 确保使用 pnpm

      - name: Run tests
        run: pnpm run test

      # 出现问题的步骤
      - name: Upload artifacts
        uses: actions/upload-artifact@v3 # 罪魁祸首
        with:
          name: my-app-build
          path: dist/ # 假设我的构建产物在 dist 目录

github action报错

根本原因

actions/upload-artifact@v3 版本已经被 GitHub 官方废弃

解决办法

将工作流中所有使用 actions/upload-artifact@v3 的地方升级到最新推荐的稳定版本 actions/upload-artifact@v4

yaml 复制代码
jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      # ... 其他步骤

      - name: Upload artifacts
        uses: actions/upload-artifact@v4 # 将 @v3 更改为 @v4
        with:
          name: my-app-build
          path: dist/
相关推荐
我不吃饼干7 小时前
在 React 中实现倒计时功能会有什么坑
前端·react.js
小小小小宇8 小时前
前端PerformanceObserver
前端
王者鳜錸8 小时前
PYTHON从入门到实践-18Django从零开始构建Web应用
前端·python·sqlite
拾光拾趣录8 小时前
ES6到HTTPS全链路连环拷问,99%人第3题就翻车?
前端·面试
haaaaaaarry9 小时前
Element Plus常见基础组件(二)
开发语言·前端·javascript
xyphf_和派孔明9 小时前
关于echarts的性能优化考虑
前端·性能优化·echarts
PyHaVolask9 小时前
HTML 表单进阶:用户体验优化与实战应用
前端·javascript·html·用户体验
A了LONE9 小时前
cv弹窗,退款确认弹窗
java·服务器·前端
AntBlack10 小时前
闲谈 :AI 生成视频哪家强 ,掘友们有没有推荐的工具?
前端·后端·aigc
花菜会噎住11 小时前
Vue3核心语法进阶(computed与监听)
前端·javascript·vue.js