解决logseq发布笔记build失败

问题: build: This request has been automatically failed because it uses a deprecated version of actions/upload-artifact: v2.
原因: GitHub 弃用了版本v1和v2版本的actions/upload-artifact 操作。
修复: 更新工作流程文件,将actions/upload-artifact@v2的2改成3或者4。
步骤:
- 在GitHub搜索
pengx17/logseq-publish,一般第一个就是,fork这个库。

- 修改自己fork库中的action.yml文件,找到
uses: actions/upload-artifact@v2(一般在第51行),修改成uses: actions/upload-artifact@v3,或uses: actions/upload-artifact@v4。提交。 - 打开自己存放Logseq数据的库,在
.github/workflows目录下找到main.yml文件。 - 将
uses: pengx17/logseq-publish@main修改为uses: 自己的账号/logseq-publish@main。提交。

- 这时候会发现在Action中,
main.yml可以build成功了。但是直接re-run之前失败的笔记依旧会失败,因为在失败记录中使用的工作流文件还是修改前的。 - 重新拉取推送。这时候由于本地仓库和远程仓库存在不同,会导致无法快速合并,出现
Fatal: Not possible to fast-forward, aborting,这个很好解决,提供两种方法。
⚠️ 在进行任何尝试前,首先应该备份自己的数据。
- 第一种:在git pull时,使用
git pull origin 分支名 --rebase。 - 第二种:如果远程仓库内容完整,可以直接下载远程仓库代替本地仓库。
注意: 以上步骤仅适用于pengx17发布的使用GitHub Action发布Logseq笔记方法。但如果你也是用GitHub Action而非GitHub Pages,且自己库中的.yml文件没有出现uses: actions/upload-artifact@v2,这里提供一种思路。
步骤:
- 查看文件中
uses:后面的信息,/前是账号,/后是库名,@后忽略。 - 找到对应的库后,查看其中
.yml文件的内容,看有没有uses: actions/upload-artifact@v2。 - 如果有就fork该库,然后修改自己fork的库,将
uses: actions/upload-artifact@v2改成uses: actions/upload-artifact@v3。 - 如果没有,说明问题不出在这个库,找找其他
uses:后的库。