diff --git a/.github/workflows/JsonGenerator.yml b/.github/workflows/JsonGenerator.yml index 610230db..a190db80 100644 --- a/.github/workflows/JsonGenerator.yml +++ b/.github/workflows/JsonGenerator.yml @@ -23,7 +23,30 @@ concurrency: cancel-in-progress: false jobs: + changes: + if: github.event_name == 'pull_request' && github.event.action == 'synchronize' + runs-on: ubuntu-latest + outputs: + relevant: ${{ steps.filter.outputs.relevant }} + steps: + - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 + id: filter + with: + token: ${{ github.token }} + base: ${{ github.event.before }} + ref: ${{ github.event.after }} + filters: | + relevant: + - 'JsonGenerator/**' + - '.github/workflows/JsonGenerator.yml' + Thunder: + needs: [changes] + if: | + always() && ( + needs.changes.result == 'skipped' || + needs.changes.outputs.relevant == 'true' + ) uses: rdkcentral/Thunder/.github/workflows/Linux build template.yml@master ThunderInterfaces: diff --git a/.github/workflows/LuaGenerator.yml b/.github/workflows/LuaGenerator.yml index 6951a6f1..fda32190 100644 --- a/.github/workflows/LuaGenerator.yml +++ b/.github/workflows/LuaGenerator.yml @@ -27,7 +27,32 @@ concurrency: cancel-in-progress: false jobs: + changes: + if: github.event_name == 'pull_request' && github.event.action == 'synchronize' + runs-on: ubuntu-latest + outputs: + relevant: ${{ steps.filter.outputs.relevant }} + steps: + - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 + id: filter + with: + token: ${{ github.token }} + base: ${{ github.event.before }} + ref: ${{ github.event.after }} + filters: | + relevant: + - 'LuaGenerator/**' + - 'ProxyStubGenerator/**' + - '.github/workflows/LuaGenerator.yml' + - '.github/workflows/ProxyStubGenerator.yml' + generate_lua: + needs: [changes] + if: | + always() && ( + needs.changes.result == 'skipped' || + needs.changes.outputs.relevant == 'true' + ) runs-on: ubuntu-latest steps: - name: Checkout ThunderTools diff --git a/.github/workflows/PluginSkeletonGenerator.yml b/.github/workflows/PluginSkeletonGenerator.yml index 0009ba65..288a0321 100644 --- a/.github/workflows/PluginSkeletonGenerator.yml +++ b/.github/workflows/PluginSkeletonGenerator.yml @@ -23,7 +23,30 @@ concurrency: cancel-in-progress: false jobs: + changes: + if: github.event_name == 'pull_request' && github.event.action == 'synchronize' + runs-on: ubuntu-latest + outputs: + relevant: ${{ steps.filter.outputs.relevant }} + steps: + - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 + id: filter + with: + token: ${{ github.token }} + base: ${{ github.event.before }} + ref: ${{ github.event.after }} + filters: | + relevant: + - 'PluginSkeletonGenerator/**' + - '.github/workflows/PluginSkeletonGenerator.yml' + Thunder: + needs: [changes] + if: | + always() && ( + needs.changes.result == 'skipped' || + needs.changes.outputs.relevant == 'true' + ) uses: rdkcentral/Thunder/.github/workflows/Linux build template.yml@master ThunderInterfaces: @@ -31,6 +54,12 @@ jobs: uses: rdkcentral/ThunderInterfaces/.github/workflows/Linux build template.yml@master prepare: + needs: [changes] + if: | + always() && ( + needs.changes.result == 'skipped' || + needs.changes.outputs.relevant == 'true' + ) runs-on: ubuntu-latest outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} diff --git a/.github/workflows/ProxyStubGenerator.yml b/.github/workflows/ProxyStubGenerator.yml index 9cdb7e68..797d2321 100644 --- a/.github/workflows/ProxyStubGenerator.yml +++ b/.github/workflows/ProxyStubGenerator.yml @@ -23,7 +23,30 @@ concurrency: cancel-in-progress: false jobs: + changes: + if: github.event_name == 'pull_request' && github.event.action == 'synchronize' + runs-on: ubuntu-latest + outputs: + relevant: ${{ steps.filter.outputs.relevant }} + steps: + - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 + id: filter + with: + token: ${{ github.token }} + base: ${{ github.event.before }} + ref: ${{ github.event.after }} + filters: | + relevant: + - 'ProxyStubGenerator/**' + - '.github/workflows/ProxyStubGenerator.yml' + Thunder: + needs: [changes] + if: | + always() && ( + needs.changes.result == 'skipped' || + needs.changes.outputs.relevant == 'true' + ) uses: rdkcentral/Thunder/.github/workflows/Linux build template.yml@master ThunderInterfaces: