解决logseq发布笔记build失败

#笔记 #工具 #logseq #github #解决问题


image from clipboard

问题: build: This request has been automatically failed because it uses a deprecated version of actions/upload-artifact: v2.
原因: GitHub 弃用了版本v1v2版本的actions/upload-artifact 操作。
修复: 更新工作流程文件,将actions/upload-artifact@v22改成3或者4
步骤:

  1. 在GitHub搜索pengx17/logseq-publish,一般第一个就是,fork这个库。
    image from clipboard
  2. 修改自己fork库中的action.yml文件,找到uses: actions/upload-artifact@v2(一般在第51行),修改成uses: actions/upload-artifact@v3,或uses: actions/upload-artifact@v4。提交。
  3. 打开自己存放Logseq数据的库,在.github/workflows目录下找到main.yml文件。
  4. uses: pengx17/logseq-publish@main修改为uses: 自己的账号/logseq-publish@main。提交。
    image from clipboard
  5. 这时候会发现在Action中,main.yml可以build成功了。但是直接re-run之前失败的笔记依旧会失败,因为在失败记录中使用的工作流文件还是修改前的。
  6. 重新拉取推送。这时候由于本地仓库和远程仓库存在不同,会导致无法快速合并,出现Fatal: Not possible to fast-forward, aborting,这个很好解决,提供两种方法。
    ⚠️ 在进行任何尝试前,首先应该备份自己的数据。

注意: 以上步骤仅适用于pengx17发布的使用GitHub Action发布Logseq笔记方法。但如果你也是用GitHub Action而非GitHub Pages,且自己库中的.yml文件没有出现uses: actions/upload-artifact@v2,这里提供一种思路。
步骤:

  1. 查看文件中uses:后面的信息,/前是账号,/后是库名,@后忽略。
  2. 找到对应的库后,查看其中.yml文件的内容,看有没有uses: actions/upload-artifact@v2
  3. 如果有就fork该库,然后修改自己fork的库,将uses: actions/upload-artifact@v2改成uses: actions/upload-artifact@v3
  4. 如果没有,说明问题不出在这个库,找找其他uses:后的库。