用于复制和重命名文件的 GitHub 操作

qua*_*nom 5 github github-actions

是否有通过 GitHub Actions复制和重命名文件的智能方法?我想将一些自述/docs文件复制到文件夹中(:= 同一个 repo,而不是远程一个!),它们将根据它们的 frontmatter 重命名title。

目标是拥有某种自动更新文档系统,每次我推送 Jekyll 时都会自动填充。

qua*_*nom 21

最后这就是我所做的:

name: docs
on:
  push:
    branches: [ master ]
    paths: 'myfolder/*/README.md'

jobs:
  docit:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@master
    - name: Copy the Readmes
      run: |
        find ./myfolder/ -type f -name "README.md" | while read fname; do
          dirname=`dirname "$fname"`
          foldername=`basename "$dirname"`
          filename=`basename "$fname"`
          newname=`echo "$dirname" | sed -e "s/ /_/g"`
          cp "${dirname}/$filename" "./docs/_myfolder/${foldername}.md"
        done
    - name: Commit files
      run: |
        git config --local user.email "action@github.com"
        git config --local user.name "GitHub Action"
        git commit -m "Add changes" -a
    - name: Push changes
      uses: ad-m/github-push-action@master
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)

我发现我不需要查看前面的内容,因为自述文件位于一个具有我需要的名称的文件夹中。
请注意:cp如果您第一次运行它,CI 将会失败,因为您无法在 git 中跟踪空文件夹,因此会出现问题。所以我只是创建了一个空的虚拟文件以确保“_myfolder”始终存在。