Fixed prettier actions (#2113)
After some thorough testing, finally made prettier on PR work. Since an html file can't be used as comment on GitHub, changed to simply point to the action that failed and to the file containing the html diff. Signed-off-by: George Araújo <george.gcac@gmail.com>
This commit is contained in:
parent
27d2fa093d
commit
bbaae0afa9
|
|
@ -1,43 +0,0 @@
|
|||
name: Comment on pull request
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: [Prettier code formatter]
|
||||
types:
|
||||
- completed
|
||||
|
||||
jobs:
|
||||
comment:
|
||||
# available images: https://github.com/actions/runner-images#available-images
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
github.event.workflow_run.event == 'pull_request' &&
|
||||
github.event.workflow_run.conclusion == 'failure'
|
||||
steps:
|
||||
- name: Download artifact
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
var artifacts = await github.actions.listWorkflowRunArtifacts({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
run_id: ${{github.event.workflow_run.id }},
|
||||
});
|
||||
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
|
||||
return artifact.name == "HTML Diff"
|
||||
})[0];
|
||||
var download = await github.actions.downloadArtifact({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
artifact_id: matchArtifact.id,
|
||||
archive_format: 'zip',
|
||||
});
|
||||
var fs = require('fs');
|
||||
fs.writeFileSync('${{github.workspace}}/HTML Diff.zip', Buffer.from(download.data));
|
||||
- name: Unzip artifact
|
||||
run: unzip HTML\ Diff.zip
|
||||
- name: PR comment with html diff
|
||||
# https://docs.github.com/en/actions/learn-github-actions/expressions#failure-with-conditions
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
with:
|
||||
filePath: diff.html
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
name: Prettier code formatter (PR)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
check:
|
||||
# available images: https://github.com/actions/runner-images#available-images
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup Node.js ⚙️
|
||||
uses: actions/setup-node@v4
|
||||
- name: Install Prettier 💾
|
||||
run: npm install --save-dev --save-exact prettier @shopify/prettier-plugin-liquid
|
||||
- name: Prettier Check 🔎
|
||||
id: prettier
|
||||
run: npx prettier . --check
|
||||
- name: Create diff 📝
|
||||
# https://docs.github.com/en/actions/learn-github-actions/expressions#failure
|
||||
if: ${{ failure() }}
|
||||
run: |
|
||||
npx prettier . --write
|
||||
git diff -- . ':(exclude)package-lock.json' ':(exclude)package.json' > diff.txt
|
||||
npm install -g diff2html-cli
|
||||
diff2html -i file -s side -F diff.html -- diff.txt
|
||||
- name: Upload html diff ⬆️
|
||||
id: artifact-upload
|
||||
if: ${{ failure() && steps.prettier.conclusion == 'failure' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HTML Diff
|
||||
path: diff.html
|
||||
retention-days: 7
|
||||
- name: PR comment with diff 💬
|
||||
if: ${{ failure() && steps.prettier.conclusion == 'failure' }}
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
with:
|
||||
comment_tag: prettier-failed
|
||||
message: |
|
||||
Failed [prettier code check](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}). Check [this file](${{ steps.artifact-upload.outputs.artifact-url }}) for more information.
|
||||
|
|
@ -1,10 +1,6 @@
|
|||
name: Prettier code formatter
|
||||
name: Prettier code formatter (push)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
|
@ -32,10 +28,11 @@ jobs:
|
|||
git diff -- . ':(exclude)package-lock.json' ':(exclude)package.json' > diff.txt
|
||||
npm install -g diff2html-cli
|
||||
diff2html -i file -s side -F diff.html -- diff.txt
|
||||
- name: Upload html diff
|
||||
- name: Upload html diff ⬆️
|
||||
id: artifact-upload
|
||||
if: ${{ failure() && steps.prettier.conclusion == 'failure' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HTML Diff
|
||||
path: diff.html
|
||||
retention-days: 3
|
||||
retention-days: 7
|
||||
Loading…
Reference in New Issue