mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
79 lines
2 KiB
YAML
79 lines
2 KiB
YAML
name: Merge queue and try
|
|
|
|
on:
|
|
push:
|
|
branches: ["auto", "try"]
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
decision:
|
|
name: Decision job
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Previous successful build check
|
|
uses: actions/github-script@v6
|
|
with:
|
|
script: |
|
|
if ((await github.rest.actions.listWorkflowRuns({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
workflow_id: "main.yml",
|
|
head_sha: context.sha,
|
|
status: "success",
|
|
})).data.workflow_runs.length > 0)
|
|
await github.rest.actions.cancelWorkflowRun({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
run_id: context.runId,
|
|
});
|
|
|
|
build-win:
|
|
name: Windows
|
|
needs: ["decision"]
|
|
uses: ./.github/workflows/windows.yml
|
|
with:
|
|
layout: '2013'
|
|
|
|
build-mac:
|
|
name: Mac
|
|
needs: ["decision"]
|
|
uses: ./.github/workflows/mac.yml
|
|
with:
|
|
layout: '2013'
|
|
|
|
build-linux:
|
|
name: Linux
|
|
needs: ["decision"]
|
|
uses: ./.github/workflows/linux.yml
|
|
with:
|
|
layout: '2013'
|
|
wpt: 'test'
|
|
|
|
build-linux-layout-2020:
|
|
name: Linux (layout-2020)
|
|
needs: ["decision"]
|
|
uses: ./.github/workflows/linux.yml
|
|
with:
|
|
layout: '2020'
|
|
|
|
build_result:
|
|
name: homu build finished
|
|
runs-on: ubuntu-latest
|
|
if: always()
|
|
# needs all build to detect cancellation
|
|
needs:
|
|
- "decision"
|
|
- "build-win"
|
|
- "build-mac"
|
|
- "build-linux"
|
|
- "build-linux-layout-2020"
|
|
|
|
steps:
|
|
- name: Mark the job as successful
|
|
run: exit 0
|
|
if: ${{ !contains(join(needs.*.result, ','), 'failure') && !contains(join(needs.*.result, ','), 'cancelled') }}
|
|
- name: Mark the job as unsuccessful
|
|
run: exit 1
|
|
if: contains(join(needs.*.result, ','), 'failure') || contains(join(needs.*.result, ','), 'cancelled')
|