如何用GitHub Actions动态替换README.md标题并提交修改?
如何通过GitHub Actions动态更新README.md的首个标题为仓库名称?
我需要实现的效果是:仅更新README.md的第一个标题,让它始终显示当前仓库的名称。目前已经掌握了在GitHub Actions中获取仓库名的方法,示例代码如下:
name: CI on: push: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: 写入仓库名到环境变量 run: echo "REPO_NAME=${{ github.event.repository.name }}" >> $GITHUB_ENV
我希望将获取到的github.event.repository.name替换到README.md的标题中,因此先把README.md的对应内容设置为:
Introduction for: <reponame>
期望通过GitHub Actions执行后,README.md的标题变为:
Introduction for: RepoName
我曾尝试使用GitHub Marketplace中的Dynamic Readme插件,但该插件不支持变量替换,且会更新整个README.md而非仅修改标题,未能实现需求,失败的示例代码如下:
name: Dynamic Template on: push: branches: - main workflow_dispatch: jobs: update_templates: name: "Update Templates" runs-on: ubuntu-latest steps: - name: "📥 获取仓库内容" uses: actions/checkout@main - name: 写入仓库名到环境变量 run: echo "REPO_NAME=${{ github.event.repository.name }}" >> $GITHUB_ENV - name: 更新Profile README uses: theboi/github-update-readme@v1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} REPO_NAME: ${{ github.event.repository.name }} with: header: $REPO_NAME
目前我已经接近实现目标:使用bash的sed命令手动替换内容看起来有效,但不清楚如何在GitHub Actions中提交修改后的代码,当前的代码如下:
name: Dynamic Template on: push: branches: - main workflow_dispatch: jobs: update_templates: name: "Update Templates" runs-on: ubuntu-latest steps: - name: "📥 获取仓库内容" uses: actions/checkout@main - name: 写入仓库名到环境变量 run: echo "REPO_NAME=${{ github.event.repository.name }}" >> $GITHUB_ENV - name: 执行替换脚本 run: | ls sed -i 's/<reponame>/$REPO_NAME/' README.md cat README.md echo $REPO_NAME
内容的提问来源于stack exchange,提问作者PythonKiddieScripterX
相关产品推荐
相关产品推荐

