r语言 - pkgdown工作流部署gh页失败



我为我的R包存储库设置了一个pkgdown工作流。
.github/workflows/pkgdown.yaml文件:

on:
push:
branches: [main, master]
release:
types: [published]
workflow_dispatch:
name: pkgdown
jobs:
pkgdown:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: r-lib/actions/setup-pandoc@v1
- uses: r-lib/actions/setup-r@v1
with:
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v1
with:
extra-packages: pkgdown
needs: website
- name: Deploy package
if: contains(env.isPush, 'true')
run: |
git config --local user.email "actions@github.com"
git config --local user.name "GitHub Actions"
Rscript -e 'pkgdown::deploy_to_branch(new_process = FALSE)'

pkgdown工作流工作正常,但它无法更新GitHub页面。
我按照GitHub文档中的解释设置了gh-pages分支,因此工作流程pages-build-deployment存在,但当我推main分支时,它不运行。

我意识到问题出在if: contains(env.isPush, 'true')行。条件既不是true也不是false,因为在env下没有属性isPush,因此出现

run: |
git config --local user.email "actions@github.com"
git config --local user.name "GitHub Actions"
Rscript -e 'pkgdown::deploy_to_branch(new_process = FALSE)'

从未被执行过。

要解决这个问题,修改env部分:

env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
isPush: ${{ github.event_name == 'push' }}

或者去掉run命令前的if条件。

最新更新