Fix building libservo with cargo build -p libservo (#35116)

* Fix building libservo with `cargo build -p libservo`

Signed-off-by: Delan Azabani <dazabani@igalia.com>

* Test the libservo build in CI

Signed-off-by: Delan Azabani <dazabani@igalia.com>

* Work around build issue on macOS (#34517)

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Delan Azabani 2025-01-23 17:05:10 +08:00 committed by GitHub
parent 935364b7bc
commit 0af1204aa3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 74 additions and 14 deletions

View file

@ -17,6 +17,9 @@ on:
unit-tests:
required: true
type: boolean
build-libservo:
required: true
type: boolean
bencher:
required: true
type: boolean
@ -30,6 +33,7 @@ jobs:
with:
profile: ${{ inputs.profile }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
bencher: ${{ inputs.bencher }}
macos:
@ -41,6 +45,7 @@ jobs:
profile: ${{ inputs.profile }}
wpt-layout: ${{ inputs.wpt-layout }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
wpt-args: ${{ inputs.wpt-args }}
bencher: ${{ inputs.bencher }}
@ -53,6 +58,7 @@ jobs:
profile: ${{ inputs.profile }}
wpt-layout: ${{ inputs.wpt-layout }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
wpt-args: ${{ inputs.wpt-args }}
bencher: ${{ inputs.bencher }}

View file

@ -21,6 +21,10 @@ on:
required: false
default: false
type: boolean
build-libservo:
required: false
default: false
type: boolean
upload:
required: false
default: false
@ -59,6 +63,10 @@ on:
required: false
default: false
type: boolean
build-libservo:
required: false
default: false
type: boolean
upload:
required: false
default: false
@ -165,6 +173,9 @@ jobs:
timeout_minutes: 20
max_attempts: 2 # https://github.com/servo/servo/issues/30683
command: ./mach test-unit --${{ inputs.profile }}
- name: Build libservo
if: ${{ inputs.build-libservo }}
run: cargo build -p libservo
- name: Archive build timing
uses: actions/upload-artifact@v4
with:

View file

@ -18,6 +18,10 @@ on:
required: false
default: false
type: boolean
build-libservo:
required: false
default: false
type: boolean
upload:
required: false
default: false
@ -52,6 +56,10 @@ on:
required: false
default: false
type: boolean
build-libservo:
required: false
default: false
type: boolean
upload:
required: false
default: false
@ -152,6 +160,9 @@ jobs:
timeout_minutes: 40 # https://github.com/servo/servo/issues/30275
max_attempts: 3 # https://github.com/servo/servo/issues/30683
command: ./mach test-unit --${{ inputs.profile }}
- name: Build libservo
if: ${{ inputs.build-libservo }}
run: cargo build -p libservo
- name: Build mach package
run: ./mach package --${{ inputs.profile }}
- name: Run DMG smoketest

View file

@ -35,7 +35,7 @@ jobs:
run: |
{
echo 'result<<EOF'
python ./python/servo/try_parser.py ${{ github.event_name == 'pull_request' && 'linux-unit-tests lint' || github.event_name == 'push' && 'fail-fast full bencher production-bencher' || 'fail-fast full' }}
python ./python/servo/try_parser.py ${{ github.event_name == 'pull_request' && 'linux-unit-tests linux-build-libservo lint' || github.event_name == 'push' && 'fail-fast full bencher production-bencher' || 'fail-fast full' }}
echo EOF
} >> $GITHUB_OUTPUT
@ -54,6 +54,7 @@ jobs:
wpt-layout: ${{ matrix.wpt_layout }}
profile: ${{ matrix.profile }}
unit-tests: ${{ matrix.unit_tests }}
build-libservo: ${{ matrix.build_libservo }}
wpt-args: ${{ matrix.wpt_args }}
bencher: ${{ matrix.bencher }}

View file

@ -137,6 +137,7 @@ jobs:
wpt-layout: ${{ matrix.wpt_layout }}
profile: ${{ matrix.profile }}
unit-tests: ${{ matrix.unit_tests }}
build-libservo: ${{ matrix.build_libservo }}
wpt-args: ${{ matrix.wpt_args }}
bencher: ${{ matrix.bencher }}

View file

@ -107,6 +107,7 @@ jobs:
wpt-layout: ${{ matrix.wpt_layout }}
profile: ${{ matrix.profile }}
unit-tests: ${{ matrix.unit_tests }}
build-libservo: ${{ matrix.build_libservo }}
wpt-args: ${{ matrix.wpt_args }}
bencher: ${{ matrix.bencher }}

View file

@ -11,6 +11,10 @@ on:
required: false
default: false
type: boolean
build-libservo:
required: false
default: false
type: boolean
upload:
required: false
default: false
@ -37,6 +41,10 @@ on:
required: false
default: false
type: boolean
build-libservo:
required: false
default: false
type: boolean
upload:
required: false
default: false
@ -168,6 +176,9 @@ jobs:
timeout_minutes: 30
max_attempts: 3 # https://github.com/servo/servo/issues/30683
command: .\mach test-unit --${{ inputs.profile }} -- -- --test-threads=1
- name: Build libservo
if: ${{ inputs.build-libservo }}
run: cargo build -p libservo
- name: Archive build timing
uses: actions/upload-artifact@v4
with: