























@@ -54,7 +54,7 @@ on:
5454 - qa-parity
5555 - qa-live
5656live_suite_filter:
57-description: Optional exact live suite id for focused live/E2E reruns; blank runs all selected live suites
57+description: Optional exact live/E2E suite id, or comma-separated QA live lanes such as qa-live-matrix,qa-live-telegram; blank runs all selected live suites
5858required: false
5959default: ""
6060type: string
@@ -88,6 +88,9 @@ jobs:
8888release_profile: ${{ steps.inputs.outputs.release_profile }}
8989rerun_group: ${{ steps.inputs.outputs.rerun_group }}
9090live_suite_filter: ${{ steps.inputs.outputs.live_suite_filter }}
91+qa_live_matrix_enabled: ${{ steps.inputs.outputs.qa_live_matrix_enabled }}
92+qa_live_telegram_enabled: ${{ steps.inputs.outputs.qa_live_telegram_enabled }}
93+qa_live_slack_enabled: ${{ steps.inputs.outputs.qa_live_slack_enabled }}
9194package_acceptance_package_spec: ${{ steps.inputs.outputs.package_acceptance_package_spec }}
9295steps:
9396 - name: Require main or release workflow ref for release checks
@@ -208,13 +211,67 @@ jobs:
208211RELEASE_PACKAGE_ACCEPTANCE_PACKAGE_SPEC_INPUT: ${{ inputs.package_acceptance_package_spec }}
209212run: |
210213 set -euo pipefail
214+ qa_live_matrix_enabled=true
215+ qa_live_telegram_enabled=true
216+ qa_live_slack_enabled=true
217+218+ filter="$(printf '%s' "$RELEASE_LIVE_SUITE_FILTER_INPUT" | tr '[:upper:]' '[:lower:]')"
219+ if [[ -n "${filter// }" ]]; then
220+ qa_filter_seen=false
221+ matrix_selected=false
222+ telegram_selected=false
223+ slack_selected=false
224+225+ IFS=', ' read -r -a filter_tokens <<< "$filter"
226+ for token in "${filter_tokens[@]}"; do
227+ token="${token//$'\t'/}"
228+ token="${token//$'\r'/}"
229+ token="${token//$'\n'/}"
230+ [[ -z "$token" ]] && continue
231+ case "$token" in
232+ qa-live|qa-live-all|qa-all)
233+ qa_filter_seen=true
234+ matrix_selected=true
235+ telegram_selected=true
236+ slack_selected=true
237+ ;;
238+ qa-live-non-slack|qa-non-slack|non-slack|no-slack|without-slack)
239+ qa_filter_seen=true
240+ matrix_selected=true
241+ telegram_selected=true
242+ ;;
243+ qa-live-matrix|qa-matrix|matrix)
244+ qa_filter_seen=true
245+ matrix_selected=true
246+ ;;
247+ qa-live-telegram|qa-telegram|telegram)
248+ qa_filter_seen=true
249+ telegram_selected=true
250+ ;;
251+ qa-live-slack|qa-slack|slack)
252+ qa_filter_seen=true
253+ slack_selected=true
254+ ;;
255+ esac
256+ done
257+258+ if [[ "$qa_filter_seen" == "true" ]]; then
259+ qa_live_matrix_enabled="$matrix_selected"
260+ qa_live_telegram_enabled="$telegram_selected"
261+ qa_live_slack_enabled="$slack_selected"
262+ fi
263+ fi
264+211265 {
212266 printf 'ref=%s\n' "$RELEASE_REF_INPUT"
213267 printf 'provider=%s\n' "$RELEASE_PROVIDER_INPUT"
214268 printf 'mode=%s\n' "$RELEASE_MODE_INPUT"
215269 printf 'release_profile=%s\n' "$RELEASE_PROFILE_INPUT"
216270 printf 'rerun_group=%s\n' "$RELEASE_RERUN_GROUP_INPUT"
217271 printf 'live_suite_filter=%s\n' "$RELEASE_LIVE_SUITE_FILTER_INPUT"
272+ printf 'qa_live_matrix_enabled=%s\n' "$qa_live_matrix_enabled"
273+ printf 'qa_live_telegram_enabled=%s\n' "$qa_live_telegram_enabled"
274+ printf 'qa_live_slack_enabled=%s\n' "$qa_live_slack_enabled"
218275 printf 'package_acceptance_package_spec=%s\n' "$RELEASE_PACKAGE_ACCEPTANCE_PACKAGE_SPEC_INPUT"
219276 } >> "$GITHUB_OUTPUT"
220277@@ -243,6 +300,7 @@ jobs:
243300 if [[ -n "${RELEASE_LIVE_SUITE_FILTER// }" ]]; then
244301 echo "- Live suite filter: \`${RELEASE_LIVE_SUITE_FILTER}\`"
245302 fi
303+ echo "- QA live lanes: Matrix \`${{ steps.inputs.outputs.qa_live_matrix_enabled }}\`, Telegram \`${{ steps.inputs.outputs.qa_live_telegram_enabled }}\`, Slack \`${{ steps.inputs.outputs.qa_live_slack_enabled }}\`"
246304 if [[ -n "${PACKAGE_ACCEPTANCE_PACKAGE_SPEC// }" ]]; then
247305 echo "- Package Acceptance package spec: \`${PACKAGE_ACCEPTANCE_PACKAGE_SPEC}\`"
248306 else
@@ -655,7 +713,7 @@ jobs:
655713qa_live_matrix_release_checks:
656714name: Run QA Lab live Matrix lane
657715needs: [resolve_target]
658-if: contains(fromJSON('["all","qa","qa-live"]'), needs.resolve_target.outputs.rerun_group)
716+if: contains(fromJSON('["all","qa","qa-live"]'), needs.resolve_target.outputs.rerun_group) && needs.resolve_target.outputs.qa_live_matrix_enabled == 'true'
659717runs-on: blacksmith-8vcpu-ubuntu-2404
660718timeout-minutes: 60
661719permissions:
@@ -732,7 +790,7 @@ jobs:
732790qa_live_telegram_release_checks:
733791name: Run QA Lab live Telegram lane
734792needs: [resolve_target]
735-if: contains(fromJSON('["all","qa","qa-live"]'), needs.resolve_target.outputs.rerun_group)
793+if: contains(fromJSON('["all","qa","qa-live"]'), needs.resolve_target.outputs.rerun_group) && needs.resolve_target.outputs.qa_live_telegram_enabled == 'true'
736794runs-on: blacksmith-8vcpu-ubuntu-2404
737795timeout-minutes: 60
738796permissions:
@@ -825,7 +883,7 @@ jobs:
825883qa_live_slack_release_checks:
826884name: Run QA Lab live Slack lane
827885needs: [resolve_target]
828-if: contains(fromJSON('["all","qa","qa-live"]'), needs.resolve_target.outputs.rerun_group)
886+if: contains(fromJSON('["all","qa","qa-live"]'), needs.resolve_target.outputs.rerun_group) && needs.resolve_target.outputs.qa_live_slack_enabled == 'true'
829887runs-on: blacksmith-8vcpu-ubuntu-2404
830888timeout-minutes: 60
831889permissions:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。