1010 type : choice
1111 options :
1212 - all
13+ - channel-runtime-boundary
1314 - gateway-runtime-boundary
1415 - plugin-boundary
1516 - plugin-sdk-package-contract
2324 - " .github/workflows/codeql-critical-quality.yml"
2425 - " packages/plugin-package-contract/**"
2526 - " packages/plugin-sdk/**"
27+ - " src/channels/**"
2628 - " src/gateway/method-scopes.ts"
2729 - " src/gateway/protocol/**"
2830 - " src/gateway/server-methods/**"
5355 runs-on : blacksmith-4vcpu-ubuntu-2404
5456 timeout-minutes : 5
5557 outputs :
58+ channel : ${{ steps.detect.outputs.channel }}
5659 gateway : ${{ steps.detect.outputs.gateway }}
5760 plugin : ${{ steps.detect.outputs.plugin }}
5861 plugin_sdk_package : ${{ steps.detect.outputs.plugin_sdk_package }}
@@ -68,12 +71,14 @@ jobs:
6871 run : |
6972 set -euo pipefail
7073
74+ channel=false
7175 gateway=false
7276 plugin=false
7377 plugin_sdk_package=false
7478 provider=false
7579
7680 if [[ "${EVENT_NAME}" != "pull_request" ]]; then
81+ channel=true
7782 gateway=true
7883 plugin=true
7984 plugin_sdk_package=true
@@ -82,11 +87,15 @@ jobs:
8287 while IFS= read -r file; do
8388 case "${file}" in
8489 .github/codeql/*|.github/workflows/codeql-critical-quality.yml)
90+ channel=true
8591 gateway=true
8692 plugin=true
8793 plugin_sdk_package=true
8894 provider=true
8995 ;;
96+ src/channels/*)
97+ channel=true
98+ ;;
9099 src/gateway/method-scopes.ts|src/gateway/protocol/*|src/gateway/server-methods/*|src/gateway/server-methods.ts|src/gateway/server-methods-list.ts)
91100 gateway=true
92101 ;;
@@ -112,6 +121,7 @@ jobs:
112121 fi
113122
114123 {
124+ echo "channel=${channel}"
115125 echo "gateway=${gateway}"
116126 echo "plugin=${plugin}"
117127 echo "plugin_sdk_package=${plugin_sdk_package}"
@@ -187,7 +197,8 @@ jobs:
187197
188198 channel-runtime-boundary :
189199 name : Critical Quality (channel-runtime-boundary)
190- if : ${{ github.event_name != 'pull_request' && (github.event_name != 'workflow_dispatch' || inputs.profile == 'all') }}
200+ needs : quality-shards
201+ if : ${{ needs.quality-shards.outputs.channel == 'true' && (github.event_name != 'pull_request' || !github.event.pull_request.draft) && (github.event_name == 'pull_request' || github.event_name != 'workflow_dispatch' || inputs.profile == 'all' || inputs.profile == 'channel-runtime-boundary') }}
191202 runs-on : blacksmith-4vcpu-ubuntu-2404
192203 timeout-minutes : 25
193204 steps :
0 commit comments