lint.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. name: Lint
  2. on:
  3. pull_request:
  4. push:
  5. branches:
  6. - main
  7. jobs:
  8. markdownlint:
  9. name: markdownlint
  10. runs-on: ubuntu-latest
  11. steps:
  12. - name: Checkout code
  13. uses: actions/checkout@v4
  14. - name: Run markdownlint
  15. uses: DavidAnson/markdownlint-cli2-action@v19
  16. with:
  17. globs: |
  18. *.md
  19. docs/**/*.md
  20. shellcheck:
  21. name: ShellCheck
  22. runs-on: ubuntu-latest
  23. steps:
  24. - name: Checkout code
  25. uses: actions/checkout@v4
  26. - name: Run ShellCheck
  27. uses: ludeeus/action-shellcheck@master
  28. with:
  29. severity: error
  30. prettier:
  31. name: Prettier
  32. runs-on: ubuntu-latest
  33. steps:
  34. - name: Checkout code
  35. uses: actions/checkout@v4
  36. with:
  37. repository: ${{ github.event.pull_request.head.repo.full_name }}
  38. ref: ${{ github.event.pull_request.head.ref }}
  39. - name: Setup Node
  40. uses: actions/setup-node@v4
  41. with:
  42. node-version: "lts/*"
  43. - name: Install Node packages
  44. run: npm ci --ignore-scripts
  45. - name: Check formatting
  46. run: npx prettier --check .
  47. eslint:
  48. name: ESLint
  49. runs-on: ubuntu-latest
  50. steps:
  51. - name: Checkout code
  52. uses: actions/checkout@v4
  53. - name: Setup Node
  54. uses: actions/setup-node@v4
  55. with:
  56. node-version: "lts/*"
  57. - name: Install Node packages
  58. run: npm ci --ignore-scripts
  59. - name: Run ESLint
  60. run: npx eslint .
  61. stylelint:
  62. name: Stylelint
  63. runs-on: ubuntu-latest
  64. steps:
  65. - name: Checkout code
  66. uses: actions/checkout@v4
  67. - name: Setup Node
  68. uses: actions/setup-node@v4
  69. with:
  70. node-version: "lts/*"
  71. - name: Install Node packages
  72. run: npm ci --ignore-scripts
  73. - name: Run Stylelint
  74. run: npx stylelint web/css/src/**/*.css