pr-pull.yaml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. name: Pull
  2. run-name: ${{ github.event.pull_request.title }} pull request run 🚀
  3. on:
  4. workflow_dispatch:
  5. pull_request:
  6. paths-ignore:
  7. - '**.md'
  8. branches: [master]
  9. types: [ opened, synchronize, reopened ]
  10. permissions:
  11. contents: read
  12. concurrency:
  13. group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
  14. cancel-in-progress: true
  15. jobs:
  16. check-format:
  17. name: Format 🔍
  18. uses: ./.github/workflows/check-format.yaml
  19. permissions:
  20. contents: read
  21. build-project:
  22. name: Build 🧱
  23. uses: ./.github/workflows/build-project.yaml
  24. secrets: inherit
  25. permissions:
  26. contents: read
  27. compatibility-validation:
  28. name: Validate Compatibility 🕵️
  29. if: github.base_ref == 'master'
  30. runs-on: ubuntu-24.04
  31. permissions:
  32. checks: write
  33. steps:
  34. - uses: actions/checkout@v4
  35. with:
  36. fetch-depth: 0
  37. - name: Check for Changed Files ✅
  38. uses: ./.github/actions/check-changes
  39. id: checks
  40. with:
  41. baseRef: origin/${{ github.base_ref }}
  42. checkGlob: plugins/win-capture/data/*.json
  43. - name: Check for Invalid Compatibility Data 📉
  44. if: fromJSON(steps.checks.outputs.hasChangedFiles)
  45. uses: ./.github/actions/compatibility-validator
  46. services-validation:
  47. name: Validate Services 🕵️
  48. if: github.base_ref == 'master'
  49. runs-on: ubuntu-24.04
  50. permissions:
  51. checks: write
  52. steps:
  53. - uses: actions/checkout@v4
  54. with:
  55. fetch-depth: 0
  56. - name: Check for Changed Files ✅
  57. uses: ./.github/actions/check-changes
  58. id: checks
  59. with:
  60. baseRef: origin/${{ github.base_ref }}
  61. checkGlob: plugins/rtmp-services/data/*.json
  62. - name: Check Services JSON Schema 📉
  63. if: fromJSON(steps.checks.outputs.hasChangedFiles)
  64. uses: ./.github/actions/services-validator
  65. with:
  66. repositorySecret: ${{ secrets.GITHUB_TOKEN }}
  67. runSchemaChecks: true
  68. runServiceChecks: false
  69. update-documentation:
  70. name: Update Documentation 📖
  71. if: github.repository_owner == 'obsproject' && github.base_ref == 'master'
  72. runs-on: ubuntu-24.04
  73. steps:
  74. - uses: actions/checkout@v4
  75. with:
  76. fetch-depth: 0
  77. - name: Check for Changed Files ✅
  78. uses: ./.github/actions/check-changes
  79. id: checks
  80. with:
  81. baseRef: origin/${{ github.base_ref }}
  82. checkGlob: docs/sphinx
  83. - uses: ./.github/actions/generate-docs
  84. if: fromJSON(steps.checks.outputs.hasChangedFiles)