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/
相关推荐
cyadyx1 小时前
Vite 比 Webpack 构建效率更高
前端·webpack·node.js·vite
mCell3 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我123458 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_9 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
东风破_10 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
圣殿骑士-Khtangc11 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne12 小时前
【ijkplayer】 硬解码流程
前端
kyriewen12 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩13 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒13 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端