Skip to content

Commit 84c0659

Browse files
authored
Create 99-auto-format-dependabot-prettier-updates.yml
1 parent 3d0aabc commit 84c0659

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Auto-Format with Prettier on PR for "self-healing" PRs
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
format:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Set up Node.js
14+
uses: actions/setup-node@v4
15+
with:
16+
node-version-file: '.nvmrc'
17+
18+
- name: Install dependencies
19+
run: |
20+
npm ci
21+
22+
- name: Check if Prettier update PR
23+
id: check_pr
24+
run: |
25+
echo "PR title: ${{ github.event.pull_request.title }}"
26+
if [[ "${{ github.event.pull_request.title }}" =~ "bump prettier from" ]]; then
27+
echo "Prettier update detected."
28+
echo "prettier_update=true" >> $GITHUB_ENV
29+
else
30+
echo "No Prettier update detected."
31+
echo "prettier_update=false" >> $GITHUB_ENV
32+
fi
33+
34+
- name: Run Prettier to format the code
35+
if: env.prettier_update == 'true'
36+
run: |
37+
npx --no prettier --write .
38+
39+
- name: Commit changes if formatting is done
40+
if: env.prettier_update == 'true'
41+
run: |
42+
git config --global user.name 'github-actions[bot]'
43+
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
44+
45+
# Checkout the PR branch (already done by actions/checkout)
46+
git checkout ${{ github.head_ref }} # This ensures we're on the PR branch
47+
48+
git add .
49+
git commit -m "Auto-format codebase with Prettier" || echo "No changes to commit"
50+
git push origin HEAD:${{ github.head_ref }} # Push back to the same PR branch

0 commit comments

Comments
 (0)