Files
servo/.github/workflows/dispatch-workflow.yml
Jonathan Schwender dc1f615c71 ohos CI: pass through results of optional jobs to try-label result (#41601)
This allows the try result comment to notify the user if jobs, which
don't block the MQ failed when running try-label jobs.

Testing: Tested by adding two `DROP ME` commits, which change the
trigger from pull_request_target to `push`, which allows us to test the
workflow, while retaining access to self-hosted runners and PR comment
permissions. These commits will be removed before merging, and should be
ignored during review.
See https://github.com/servo/servo/pull/41601#issuecomment-3703918698
for a comment created with an optional job failing (by patching the job
to fail).
Fixes: https://github.com/servo/servo/issues/40589

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2026-01-05 18:17:19 +00:00

120 lines
3.1 KiB
YAML

name: Dispatch Workflow
on:
workflow_call:
inputs:
workflow:
required: true
type: string
profile:
required: true
type: string
build-args:
required: true
type: string
wpt-args:
required: true
type: string
wpt:
required: true
type: boolean
number-of-wpt-chunks:
required: true
type: number
unit-tests:
required: true
type: boolean
build-libservo:
required: true
type: boolean
bencher:
required: true
type: boolean
coverage:
required: true
type: boolean
outputs:
ohos_optional_job_status:
description: "The status of the optional jobs in the ohos workflow"
value: ${{ jobs.ohos.outputs.optional_job_status }}
jobs:
win:
if: ${{ inputs.workflow == 'windows' }}
name: Windows
uses: ./.github/workflows/windows.yml
secrets: inherit
with:
profile: ${{ inputs.profile }}
build-args: ${{ inputs.build-args }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
bencher: ${{ inputs.bencher }}
macos:
if: ${{ inputs.workflow == 'macos' }}
name: MacOS
uses: ./.github/workflows/mac.yml
secrets: inherit
with:
profile: ${{ inputs.profile }}
build-args: ${{ inputs.build-args }}
wpt: ${{ inputs.wpt }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
wpt-args: ${{ inputs.wpt-args }}
bencher: ${{ inputs.bencher }}
macos-arm64:
if: ${{ inputs.workflow == 'macos-arm64' }}
name: MacOS
uses: ./.github/workflows/mac-arm64.yml
secrets: inherit
with:
profile: ${{ inputs.profile }}
build-args: ${{ inputs.build-args }}
wpt: ${{ inputs.wpt }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
wpt-args: ${{ inputs.wpt-args }}
bencher: ${{ inputs.bencher }}
linux:
if: ${{ inputs.workflow == 'linux' }}
name: Linux
uses: ./.github/workflows/linux.yml
secrets: inherit
with:
profile: ${{ inputs.profile }}
build-args: ${{ inputs.build-args }}
wpt: ${{ inputs.wpt }}
number-of-wpt-chunks: ${{ inputs.number-of-wpt-chunks }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
wpt-args: ${{ inputs.wpt-args }}
bencher: ${{ inputs.bencher }}
coverage: ${{ inputs.coverage }}
lint:
if: ${{ inputs.workflow == 'lint' }}
name: Lint
# Note: The lint workflow does not need access to any secrets.
uses: ./.github/workflows/lint.yml
android:
if: ${{ inputs.workflow == 'android' }}
name: Android
uses: ./.github/workflows/android.yml
secrets: inherit
with:
profile: ${{ inputs.profile }}
bencher: ${{ inputs.bencher }}
ohos:
if: ${{ inputs.workflow == 'ohos' }}
name: OpenHarmony
uses: ./.github/workflows/ohos.yml
secrets: inherit
with:
profile: ${{ inputs.profile }}
bencher: ${{ inputs.bencher }}