mirror of
https://github.com/electron-vite/electron-vite-vue
synced 2025-01-19 03:46:35 +08:00
ci: add CI to check not allowed files and lint
This commit is contained in:
parent
b74293ac2d
commit
940033deff
81
.github/workflows/ci.yml
vendored
Normal file
81
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
branches:
|
||||
- main
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
job1:
|
||||
name: Check Not Allowed File Changes
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
markdown_change: ${{ steps.filter_markdown.outputs.change }}
|
||||
markdown_files: ${{ steps.filter_markdown.outputs.change_files }}
|
||||
steps:
|
||||
|
||||
- name: Check Not Allowed File Changes
|
||||
uses: dorny/paths-filter@v2
|
||||
id: filter_not_allowed
|
||||
with:
|
||||
list-files: json
|
||||
filters: |
|
||||
change:
|
||||
- 'package-lock.json'
|
||||
- 'yarn-lock.json'
|
||||
- 'pnpm-lock.yaml'
|
||||
|
||||
# ref: https://github.com/github/docs/blob/main/.github/workflows/triage-unallowed-contributions.yml
|
||||
- name: Comment About Changes We Can't Accept
|
||||
if: ${{ steps.filter_not_allowed.outputs.change }}
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
let workflowFailMessage = "It looks like you've modified some files that we can't accept as contributions."
|
||||
try {
|
||||
const badFilesArr = [
|
||||
'package-lock.json',
|
||||
'yarn-lock.json',
|
||||
'pnpm-lock.yaml',
|
||||
]
|
||||
const badFiles = badFilesArr.join('\n')
|
||||
const reviewMessage = `👋 Hey there spelunker. It looks like you've modified some files that we can't accept as contributions. The complete list of files we can't accept are:\n${badFiles}\n\nYou'll need to revert all of the files you changed in that list using [GitHub Desktop](https://docs.github.com/en/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit) or \`git checkout origin/main <file name>\`. Once you get those files reverted, we can continue with the review process. :octocat:`
|
||||
createdComment = await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.payload.number,
|
||||
body: reviewMessage,
|
||||
})
|
||||
workflowFailMessage = `${workflowFailMessage} Please see ${createdComment.data.html_url} for details.`
|
||||
} catch(err) {
|
||||
console.log("Error creating comment.", err)
|
||||
}
|
||||
core.setFailed(workflowFailMessage)
|
||||
|
||||
- name: Check Not Linted Markdown
|
||||
if: ${{ always() }}
|
||||
uses: dorny/paths-filter@v2
|
||||
id: filter_markdown
|
||||
with:
|
||||
list-files: shell
|
||||
filters: |
|
||||
change:
|
||||
- added|modified: '*.md'
|
||||
|
||||
|
||||
job2:
|
||||
name: Lint Markdown
|
||||
runs-on: ubuntu-latest
|
||||
needs: job1
|
||||
if: ${{ always() && needs.job1.outputs.markdown_change == 'true' }}
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- name: Lint markdown
|
||||
run: npx markdownlint-cli ${{ needs.job1.outputs.markdown_files }} --ignore node_modules
|
Loading…
x
Reference in New Issue
Block a user