有没有一个聪明的方法copy and rename通过 GitHub Actions 文件?
我想将一些自述文件复制到/docs
文件夹(:=相同的存储库,而不是远程存储库!),它们将根据其 frontmatter 在其中重命名title
.
目标是拥有某种自动更新的文档系统,每次我推送 Jekyll 时都会自动填充。
最后这就是我所做的:
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 "[email protected] /cdn-cgi/l/email-protection"
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 }}
我发现我不需要查看前面的内容,因为自述文件位于一个具有我需要的名称的文件夹中。
谨防:cp
如果您第一次运行它并且 CI 将失败,则会出现问题,因为您无法在 git 中跟踪空文件夹。所以我只是创建了一个空的虚拟文件以确保“_myfolder”始终存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)