使用GitHub工作流获取上周推送到master的所有提交

myzjeezk  于 2022-12-02  发布在  Git
关注(0)|答案(1)|浏览(126)

我想创建一个GitHub工作流来显示上周(从当前日期到当前日期减去7天)所有推送到master的提交。
这是我迄今为止的想法:
1.获取当前日期:这很简单,而且已经有人回答了here
1.从当前日期减去7天:我还不知道该怎么做,以一种始终如一的方式。
1.获取这两个日期之间的提交列表:这可以很容易地通过git log命令来完成,如here所解释的,但是如何在GitHub工作流Yaml中转换呢?
我可以对第2点和第3点有一些建议吗?或者如果有什么更容易的方法来达到我的需要,请告诉我。

1qczuiv0

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”,否则只能检索最后一次提交。

相关问题