diff --git a/.github/workflows/set-pr-title.yml b/.github/workflows/set-pr-title.yml new file mode 100644 index 000000000..6e9b5b05a --- /dev/null +++ b/.github/workflows/set-pr-title.yml @@ -0,0 +1,30 @@ +name: Set PR Title to First Commit Message + +on: + pull_request: + types: [opened, synchronize] + +jobs: + set-pr-title: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + # Fetches the entire commit history so that we can access the first commit + fetch-depth: 0 + + - name: Get first commit message + run: | + # Get the SHA of the first commit in the PR + FIRST_COMMIT_SHA=$(git log --reverse --format="%H" "${{ github.event.pull_request.base.sha }}..HEAD" | head -n 1) + # Get the message of the first commit in the PR + FIRST_COMMIT_MESSAGE=$(git log -n 1 --format=%B "$FIRST_COMMIT_SHA") + echo "FIRST_COMMIT_MESSAGE=$FIRST_COMMIT_MESSAGE" >> $GITHUB_ENV + + - name: Update PR title + run: gh pr edit "$PR_NUMBER" --title "$FIRST_COMMIT_MESSAGE" + env: + FIRST_COMMIT_MESSAGE: ${{ env.FIRST_COMMIT_MESSAGE }} + GITHUB_TOKEN: ${{ secrets.PIXELASS_PAT_BLIBLA }} + PR_NUMBER: ${{ github.event.pull_request.number }}