我想创建一个GitHub工作流来显示上周(从当前日期到当前日期减去7天)所有推送到master的提交。这是我迄今为止的想法:1.获取当前日期:这很简单,而且已经有人回答了here1.从当前日期减去7天:我还不知道该怎么做,以一种始终如一的方式。1.获取这两个日期之间的提交列表:这可以很容易地通过git log命令来完成,如here所解释的,但是如何在GitHub工作流Yaml中转换呢?我可以对第2点和第3点有一些建议吗?或者如果有什么更容易的方法来达到我的需要,请告诉我。
git log
1qczuiv01#
我找到了一个适合我需要的解决方案,这也要感谢@phd的评论。我将在这里编写它,以便将来的用户可以从中受益。首先,我发现了一个很好的应用程序,叫做act,它允许你在本地测试你的github工作流脚本(而不需要创建大量的提交来测试你的脚本)。工作脚本如下:
name: GH-Workflow-Test on: push: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: '0' - name: Get Weekly Commits run: | echo 'WEEKLY_COMMITS<<EOF' >> $GITHUB_ENV git log --format=%B --since=7.days >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - name: Print Commits List run: echo ${{ env.WEEKLY_COMMITS }}
编辑:更新了代码,不需要“tr”命令。不要忘记设置fetch-depth:“0”,否则只能检索最后一次提交。
1条答案
按热度按时间1qczuiv01#
我找到了一个适合我需要的解决方案,这也要感谢@phd的评论。
我将在这里编写它,以便将来的用户可以从中受益。
首先,我发现了一个很好的应用程序,叫做act,它允许你在本地测试你的github工作流脚本(而不需要创建大量的提交来测试你的脚本)。
工作脚本如下:
编辑:更新了代码,不需要“tr”命令。不要忘记设置fetch-depth:“0”,否则只能检索最后一次提交。