servo/.github/workflows/main.yml
Martin Robinson 8522647555 Run the Layout 2020 tests in main workflow
Also fix report_aggregated_expected_results.py which was reporting an
error when there were no failing tests. This is more commonly an issue
with Layout 2020 because if runs fewer tests and was causing builds to
show up as failing even when they were not.
2023-05-17 11:25:03 +02:00

82 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'
unit-tests: true
build-mac:
name: Mac
needs: ["decision"]
uses: ./.github/workflows/mac.yml
with:
layout: '2013'
unit-tests: true
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'
wpt: 'test'
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')