Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
chore: add workflow to automatically run prettier when renovate updates it#6370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes fromall commits
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,51 @@ | ||||||||
| # This workflow is used to augment the capabilities of the renovate GitHub app by running a full | ||||||||
| # `prettier --write` when renovate opens a PR to change the version of prettier. | ||||||||
| name: Prettier Update | ||||||||
| on: | ||||||||
| pull_request: | ||||||||
| branches: [main] | ||||||||
| paths: | ||||||||
| - 'package.json' | ||||||||
| concurrency: | ||||||||
| group: ${{ github.workflow }}-${{ github.event.number || github.ref }} | ||||||||
| cancel-in-progress: true | ||||||||
| jobs: | ||||||||
| maybe_prettier_update: | ||||||||
| # Only run if it was the renovate bot that triggered the workflow (otherwise we'll create a loop) | ||||||||
| if: contains('["renovate[bot]"]', github.actor) == true | ||||||||
| name: Run prettier formatting if required | ||||||||
| runs-on: ubuntu-latest | ||||||||
| steps: | ||||||||
| - uses: actions/checkout@v3 | ||||||||
| - name: Check if prettier was changed as part of the latest commit on the PR | ||||||||
| id: prettier-package-check | ||||||||
| run: | | ||||||||
| git diff HEAD~1 -G"prettier" --exit-code package.json && echo "prettier unchanged" || echo "::set-output name=was-changed::true" | ||||||||
| - name: Run prettier formatting if prettier was changed and commit the results | ||||||||
| if: ${{ steps.prettier-package-check.outputs.was-changed == 'true' }} | ||||||||
| env: | ||||||||
| # We cannot use secrets.GITHUB_TOKEN for this because it is not permitted to kick off subsequent actions worfklow runs, so we use a PAT instead | ||||||||
| GITHUB_TOKEN: ${{ secrets.JAMES_HENRY_GITHUB_TOKEN }} | ||||||||
| run: | | ||||||||
| yarn --ignore-scripts | ||||||||
| yarn format | ||||||||
Comment on lines +36 to +37 Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others.Learn more. For a bit faster install, maybe? Suggested change
Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others.Learn more. will Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others.Learn more. It goes with the latest by default, which should be what the PR is upgrading to anyway. | ||||||||
| # Commit all the changes to the PR (see note on not being able to use secrets.GITHUB_TOKEN for this) | ||||||||
| git config --global user.email "james@henry.sc" | ||||||||
| git config --global user.name "JamesHenry" | ||||||||
| git remote set-url origin https://x-access-token:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY.git | ||||||||
| # If the status is empty, there are no uncommitted changes | ||||||||
| if [[ -z $(git status --porcelain) ]]; then | ||||||||
| echo "No uncommitted changes" | ||||||||
| else | ||||||||
| git add --all | ||||||||
| git commit -m "chore: update formatting after prettier upgrade" | ||||||||
| git push | ||||||||
| fi | ||||||||