asset-verification.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. name: Asset Build Verification
  2. on:
  3. push:
  4. branches: ["main"]
  5. pull_request:
  6. branches: ["main"]
  7. permissions:
  8. contents: read
  9. jobs:
  10. asset_verification:
  11. runs-on: ubuntu-24.04
  12. steps:
  13. - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
  14. with:
  15. persist-credentials: false
  16. - name: build essential
  17. run: |
  18. sudo apt-get update
  19. sudo apt-get install -y build-essential
  20. - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
  21. with:
  22. node-version: "24.11.0"
  23. - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
  24. with:
  25. go-version: "1.25.4"
  26. - name: install node deps
  27. run: |
  28. npm ci
  29. - name: Check for uncommitted changes before asset build
  30. id: check-changes-before
  31. run: |
  32. if [[ -n $(git status --porcelain) ]]; then
  33. echo "has_changes=true" >> $GITHUB_OUTPUT
  34. else
  35. echo "has_changes=false" >> $GITHUB_OUTPUT
  36. fi
  37. - name: Fail if there are uncommitted changes before build
  38. if: steps.check-changes-before.outputs.has_changes == 'true'
  39. run: |
  40. echo "There are uncommitted changes before running npm run assets"
  41. git status
  42. exit 1
  43. - name: Run asset build
  44. run: |
  45. npm run assets
  46. - name: Check for uncommitted changes after asset build
  47. id: check-changes-after
  48. run: |
  49. if [[ -n $(git status --porcelain) ]]; then
  50. echo "has_changes=true" >> $GITHUB_OUTPUT
  51. else
  52. echo "has_changes=false" >> $GITHUB_OUTPUT
  53. fi
  54. - name: Fail if assets generated changes
  55. if: steps.check-changes-after.outputs.has_changes == 'true'
  56. run: |
  57. echo "npm run assets generated uncommitted changes. This indicates the repository has outdated generated files."
  58. echo "Please run 'npm run assets' locally and commit the changes."
  59. git status
  60. git diff
  61. exit 1