GitHub Action Generate Snake无法在README预览显示完整GIF求助
问题描述
我正尝试在个人资料README中配置GitHub Contribution Snake动画,参照多篇教程操作后,运行Workflow仅生成不完整的GIF或SVG文件。
YML文件路径

配置代码(注释已翻译)
# 生成贡献图贪吃蛇动画的GitHub Action name: 生成贪吃蛇动画 # 触发时机:每6小时自动运行一次 on: schedule: # 每6小时执行一次 - cron: "0 */6 * * *" # 允许从Actions标签页手动触发 workflow_dispatch: # 工作流执行步骤 jobs: # 唯一任务:构建动画 build: # 运行环境:最新版Ubuntu runs-on: ubuntu-latest # 任务执行步骤序列 steps: # 拉取仓库代码到运行环境 - uses: actions/checkout@v2 # 生成贪吃蛇动画 - uses: Platane/snk@master id: snake-gif with: github_user_name: M1rzoni # 以下两行指定将文件生成到"output"分支,避免主分支文件杂乱 gif_out_path: dist/github-contribution-grid-snake.gif svg_out_path: dist/github-contribution-grid-snake.svg # 查看构建状态,方便调试问题 - run: git status # 推送变更到主分支 - name: 推送变更 uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: master force: true # 将dist目录内容部署到output分支 - uses: crazy-max/ghaction-github-pages@v2.1.3 with: # 指定目标分支为output target_branch: output build_dir: dist env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
运行Workflow后的结果

解决方法
切换稳定版本的snk动作:当前使用的
Platane/snk@master是开发分支,稳定性无法保证,建议替换为指定稳定版本,比如Platane/snk@v3,避免版本兼容问题导致生成失败。修正分支推送逻辑:配置中同时向
master和output分支推送内容,存在逻辑冲突。移除ad-m/github-push-action相关步骤,只保留crazy-max/ghaction-github-pages将dist目录部署到output分支的逻辑,避免文件传输中断或覆盖。确保目录存在:在生成动画的步骤前,添加创建
dist目录的命令,防止因目录不存在导致文件生成失败:- run: mkdir -p dist添加权限配置:在
jobs.build节点下添加权限声明,保证Action拥有读写仓库内容的权限:permissions: contents: write延长超时时间:若动画生成耗时较长,可在
jobs.build节点下设置超时时间,避免中途被终止:timeout-minutes: 10查看调试日志:运行Workflow后,进入
snake-gif步骤查看详细日志,确认是否存在网络请求失败、权限不足等报错,针对性修复问题。
内容的提问来源于stack exchange,提问作者Mirza Šabanović
相关产品推荐
相关产品推荐

