Commit graph

360 commits

Author SHA1 Message Date
Delan Azabani
c4c85affb5
CI: use new API for taking a runner (#34983)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-01-14 10:04:21 +00:00
Delan Azabani
acb6515837
CI: disable self-hosted runners for nightly.yml (#34982)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-01-14 04:23:50 +00:00
Delan Azabani
df13d3335f
CI: use self-hosted runners for macOS build jobs (#34868)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-01-07 11:34:30 +00:00
Samson
9e7ab3f8de
chore: Update wgpu (#34795)
* Update wgpu

0f5f0580e4

Most notable change is https://github.com/gfx-rs/wgpu/pull/6785

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Remove silencing of wgpu logs

I fixed this in upstream: https://github.com/gfx-rs/wgpu/pull/6817

Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2025-01-02 14:25:33 +00:00
Samson
3d3e7a61b5
ci: Do not run bencher in MQ (#34732)
Fixes #34731

Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2024-12-21 15:02:11 +00:00
Samson
626ef037f3
Update wgpu for supporting TextureView.usage (#34721)
* Update wgpu and add support for TextureView.usage

53f40794f2
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Update expect

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Disable wgpu logging

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* remove unused wgpu features

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* new expect

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* re

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Update deny.toml

Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2024-12-21 05:18:27 +00:00
Mukilan Thiyagarajan
8a438ef644
ci: explictly install Clang 14 on Linux runners (#34718)
The nightly build jobs run on Ubuntu 20.04 to ensure the glibc version
is compatible with WPT.fyi runners. But this version of Ubuntu has an
older clang version (12) that is not compatible with mozjs.

This patch makes the nightly job for Linux explicity install Clang 14
using the KyleMayes/install-llvm-action@v2 action. The regular Linux job
still uses system Clang installation as there are failures when using
the github action.

Fixes #34713.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-20 18:58:09 +00:00
Mukilan Thiyagarajan
adfee3daa5
mach: recreate .venv when .python-version changes (#34712)
The new images published in servo/ci-runners#12 should have `uv`
installed already and the initial build of servo triggered during the
base image construction will force the installation of the Python
version mentioned at the time of the image construction (3.12). When
.python-version changes, we can no longer use the .venv baked into the
image and must recreate the it to avoid activating the environment.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-20 09:55:21 +00:00
Jonathan Schwender
017b12a627
Disable sccache in CI (#34692)
We have been having intermittent issues with sccache since
around the recent v0.9 release of sccache which only
appear when building mozjs from source.
Due to recent changes with readablestreams, we are not using
the prebuilt mozjs artifacts anymore and always building from
source, causing these problems to regularly block the merge
queue. Bumping SCCACHE_GHA_VERSION helps but has been observed
to only be a temporary solution until the next breakage.

Closes #34571

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-12-18 21:01:56 +00:00
Jonathan Schwender
3cbc8c2442
CI: simplify self-hosted check (#34682)
* CI: simplify self-hosted check

See also the official documentation on the
runner context:

https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs#runner-context

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Fix runner-timeout

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-12-18 09:32:40 +00:00
Mukilan Thiyagarajan
7ee0a7d765
ci: purge MacOS specific caches (#34684)
To check if this helps with https://github.com/servo/servo/pull/34629

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-18 10:37:19 +00:00
Mukilan Thiyagarajan
d54b68bc96
ci: increment SCCACHE_GHA_VERSION to purge caches (#34673)
There are build failures again with similar errors seen in #34571.
Incrementing the SCCACHE_GHA_VERSION should purge the cache for now, but
this is just a temporary fix. If this happens again, we'll need to look
into disabling sccache until #34571 is resolved.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-18 05:07:55 +00:00
Samson
324e929390
Set CCACHE only for github hosted runner (#34670)
I believe this should fix https://github.com/servo/servo/issues/34603#issuecomment-2544621524

Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2024-12-17 18:36:33 +00:00
Mukilan Thiyagarajan
6be403d8b4
ci: fix wpt export job (#34640)
The path to `.python-version` used by our setup-python action is
relative to the current working directory, which is not the servo
repo when WPT Export job runs.

Fixes #34639.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-16 12:18:28 +00:00
Mukilan Thiyagarajan
88a35b3cc9
mach: adopt uv and avoid system python (#34632)
This allows us to use `uv` for:
1. Installing a pinned Python version
2. Installing the dependency packages using `uv`'s pip compatible interface.
4. Bootstrapping `mach` without a Python installion on the host, using `uv
   run`

This change also introduces a new 'composite' GitHub action to setup
python in the different CI workflows. There is no support for externally
managed python installations and virtual environments. These could be
added in the future.

Fixes #34095, #34547

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-16 09:20:37 +00:00
Jonathan Schwender
f757fa46ac
Bump bindgen to 0.71.1 (#34562)
* Bump bindgen to 0.71.1

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Set SCCACHE_GHA_VERSION to allow purging cache

changing the version allows us to purge the cache.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* android CI: Enable sccache again

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-12-16 07:13:20 +00:00
Mukilan Thiyagarajan
a87a86f4f2
ci: add retries and caching for gradle installation (#34619)
This change uses Gradle's official `setup-gradle` action to allow the
caching of the downloaded gradle distribution and java dependencies in
the GitHub Actions cache. However, since the initial download of gradle
distribution is still handled by the `gradlew` wrapper script which
doesn't retry on network failures, this change also adds a simple retry
mechanism using shell scripting.

Fixes #34600

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-14 11:18:43 +00:00
Mukilan Thiyagarajan
7fcde1f7a3
build: upgrade rustc to 1.81.0 (#34270)
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-12 07:26:16 +00:00
Mukilan Thiyagarajan
d7cc988717
ci: disable caches on Android CI for testing (#34577)
This is to see if #34571 is related to caching in anyway. There is no
easy way to delete all Github Action caches using Github UI or cli.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-11 17:17:05 +05:30
Mukilan Thiyagarajan
2f64dde623
Revert "mach: switch to uv for managing python venv (#34504)" (#34548)
This reverts commit 4103421ba5.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-10 03:43:50 +00:00
Mukilan Thiyagarajan
4103421ba5
mach: switch to uv for managing python venv (#34504)
This patch switches servo to use `uv` for both installing a pinned
Python version as well as installing the dependency packages using
`uv`'s pip compatible interface. It also introduces a new 'composite'
GitHub action to setup python in the different CI workflows.

There is no support for externally managed python installations and
virtual environments. These could be added in the future.

Fixes #34095

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-09 14:52:06 +00:00
Samson
faefed9869
Add linux-pref job (#33261)
Job will do some performance benchmarks (Dromeo, Speedometer) and mesure binary size and will report results to bencher.dev

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-authored-by: DK Liao <dklassic@gmail.com>
2024-12-06 07:32:26 +00:00
Nico Burns
e4ec84fad1
Rename 'cargo-clippy' mach command to just 'clippy' (#34481)
Signed-off-by: Nico Burns <nico@nicoburns.com>
2024-12-05 03:19:15 +00:00
Jonathan Schwender
096439b35e
ohos: Specify SDK version more accurately. (#34431)
SDK Version 5.0.1 was recently released and bumps the
API-version to 13.
This means hvigor will refuse to package the app, since
we currently specify that our app targets API 12.
Hence, we clarify our version by also specifying the patch level.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-29 21:19:02 +00:00
Jonathan Schwender
a6db3cb702
Disable layout-2013 feature by default (#34290)
Most of the time layout-2013 is not needed and just
wastes build time. Disable the optional feature by
default and require users to specify the feature
at compile time if they wish to use the legacy layout.

In CI we enable the feature by default for Linux, since
that we need it for wpt tests with the legacy layout
and CI should ensure that the legacy code continues
to compile.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-21 12:24:57 +00:00
Samson
c8626985ca
Use try-parser in main workflow (#34146)
this allows us to have fail-fast in MQ

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-11-20 15:32:01 +00:00
Jonathan Schwender
538ac61a82
ohos: Add basic IME and keyboard support (#34188)
* ohos: Add basic IME and keyboard support

- Add extremely basic support for keyboard events
- Add basic IME support
   - Showing and hiding the IME
   - inserting text
   - deleting characters
   - very basic configuration of the IME

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* Apply suggestions from code review

Improve the log message

Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>

* Update ports/servoshell/egl/ohos.rs

Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>

* ohos: Bump the minimum required SDK version to 5.0

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: Remove pub from callbacks

The callbacks don't need to be public, as we will be registering them.

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* Rename composition event

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: clippy in log

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: address some clippy warnings

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: Raise Error in mach if unsupported SDK version is used.

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* Add keyboard-types dependency for android

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

---------

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2024-11-15 15:04:48 +00:00
Jonathan Schwender
56fed22a5b
CI: Fix lint job (#34257)
cargo-deny 0.16.2 requires Rust 1.81, so we install the previous version

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
2024-11-15 11:12:31 +00:00
Delan Azabani
cbfcd68bcc
CI: use new intermittent-tracker deployment (#34068)
* CI: use new intermittent-tracker deployment

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

* Plumb new secrets into linux-wpt.yml environment

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

* Print effective dashboard URL in WPT runner

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

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-11-04 10:42:26 +00:00
Samson
e355cc0263
Bigger timeout for mac unit tests (#34130)
I noticed that in practice it takes about ~30min to run unit tests.

Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2024-11-04 09:02:01 +00:00
Mukilan Thiyagarajan
831a65917a
ci: pin python to 3.12 for mac workflows (#34022)
wptrunner breaks macos builds because it doesn't work well with 3.13 due
to two issues:

1. The current version (10.3.0) of the 'pillow' dependency of wptrunner
   breaks with >=3.13 and needs to be upgraded.
2. Python 3.13 has removed the 'cgi' module which was deprecated in 3.11
   and has no direct replacement. There are two files in wptrunner that
   use the cgi module and one of them is the vendored 'html5lib'.

As a quick fix, pin the Python version on MacOS runner until
web-platform-tests/wpt#48585 is addressed.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-26 08:57:10 +00:00
tanishka
571cba4a81
CI: Fail the lint job when cargo-clippy reports some warnings (#33941)
* Fail the lint job when cargo-clippy reports some warnings

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* Remove todo comment

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>

* clippy: use Option::take instead of mem::replace

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-21 15:18:32 +00:00
Martin Robinson
fc569260d2
ci: Fix the WPT export job again by removing --break-system-packages (#33874)
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-10-16 22:29:00 +00:00
Delan Azabani
2322b22a6b
CI: temporarily disable self-hosted runners for nightly.yml (#33834)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-10-14 13:13:10 +00:00
Samson
f0285fc7e5
CI: pin ubuntu 22.04 in WPT Import (#33823)
Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2024-10-13 07:19:45 +00:00
Jonathan Schwender
efaba0472a
CI: Bump setup-ohos-sdk to v0.1.4 (#33739)
* CI: Bump setup-ohos-sdk to v0.1.4

v0.1.3 had a bug when the SDK was restored from cache.
This was fixed upstream, andcache-hit behavior is now also
tested in upstream CI.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* CI: Use major tag again for setup-ohos-sdk

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-10-13 07:17:24 +00:00
Mukilan Thiyagarajan
febe7de0bf
ohos: publish nightly builds (#33801)
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-11 10:11:51 +00:00
Martin Robinson
4d200a4348
Use --break-system-packages when running pip in the WPT export job (#33749)
This seems to be necessary now, in much the same way it is necessary on
a normal Ubuntu system. I'm not sure what changed that this is now
required.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-10-09 16:16:09 +00:00
Mukilan Thiyagarajan
c430645606
ci: pin the ubuntu runner version in lint job. (#33755)
Github has updated the `ubuntu-latest` label to use 24.04, but that
breaks the lint job. Since the build job (github hosted and self hosted
runners) still explicitly use 22.04, pin the same version for lint job
until we upgrade all the workflows together.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-09 11:18:33 +00:00
Mukilan Thiyagarajan
946fa9cdee
ohos: pin version of setup-ohos-sdk action to fix CI (#33719)
The most recent [v0.1.3] release seems to not set the expected
OHOS_SDK_NATIVE and OHOS_BASE_SDK_HOME environment variables.

This is causing the OHOS builds to fail in CI and blocking the merge
queue. This change pins he action to the last known good version until
the error can be addressed upstream.

Fixes #33712.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-10-08 06:16:02 +00:00
Delan Azabani
5ee8e2e55b
CI: increase self-hosted runner timeout from 30 to 120 seconds (#33596)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-10-01 06:55:03 +00:00
Jonathan Schwender
f96a62f0ce
Bump sccache-action to v0.0.6 (#33566)
Interesting changes since v0.0.4

- fix: avoid downloading package when local cache exists in https://github.com/Mozilla-Actions/sccache-action/pull/123
- Output sccache stats as a notice and a summary table in https://github.com/Mozilla-Actions/sccache-action/pull/113

v0.0.6 changelog: https://github.com/Mozilla-Actions/sccache-action/releases/tag/v0.0.6

v0.0.5 changelog: https://github.com/Mozilla-Actions/sccache-action/releases/tag/v0.0.5

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
2024-09-27 15:22:35 +00:00
Mukilan Thiyagarajan
157e28c59b
openharmony: add servoshell for ohos (#33295)
* openharmony: add servoshell for ohos

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* ohos: handle missing signing config on forks

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-09-20 08:20:27 +00:00
Delan Azabani
25bce9f6b9
CI: fix self-hosted runner timeout detection (#33471)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-09-17 14:45:09 +00:00
Mukilan Thiyagarajan
ea109d5490
android: publish nightly builds for aarch64 (#33435)
* android: publish nightly builds for aarch64

Publish the aarch64 apk and aar packages to both Github Releases
and S3 so that it can be linked from servo.org.

The focus is on getting a working version of the APK on the homepage,
so few issues are resolved with temporary solutions:
1) We publish the "release" profile instead of "production" since the
   latter will need changes in the gradle configuration (the changes
   required was previously blocked on #32720 which is now closed).
2) The scheme for the version code is simple and doesn't consider
   other factors such as API level and product variants discussed in the
   Android docs (https://developer.android.com/google/play/publishing/multiple-apks#VersionCodes)
   This should be fine for now as we don't publish to any store yet.

The change also makes it so that the 'Release nightly' workflow will
endup building all 4 variants for the Android target, but only aarch64
is uploaded. This is because GH Actions doesn't have a good way to skip
a specific job in a matrix and the additionally code complexity needed
to acheive it (either generating a JSON dynamically in a new job and using
`fromJSON` in the matrix definition or skipping each individual step
based on matrix.target and `inputs.upload`) didn't seem worth the cost
saved (this is executed only once a day).

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: add attestation for nightly build artifacts

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-09-16 11:45:04 +00:00
Delan Azabani
d4be678a69
CI: fix self-hosted runners in Linux builds (#33389)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-09-10 07:30:38 +00:00
Delan Azabani
9cfbaf92e5
CI: fix self-hosted runners in try-label builds (#33373)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-09-09 04:43:25 +00:00
Delan Azabani
8bb739b818
CI: use self-hosted runners for Linux build jobs (#33321)
* CI: use self-hosted runners for Linux build jobs

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

* Set ccache and incremental env variables when not self-hosted

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

* Force GitHub-hosted runner when in upload mode

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

* Revert s/python/python3/ now that our image has python

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

* Remove stray comment in timeout workflow

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

* Update description of runner-select job

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

* Apply suggestions from code review

Address couple minor naming / formatting nits

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-09-08 15:06:44 +00:00
Delan Azabani
642c25d9a7
CI: use monitor API for self-hosted runners (#33315)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-09-04 17:11:32 +00:00
Samson
abe532dd2f
CI: Force github hosted runners and remove concurrency on select-runner job (#33308)
temporary fix for #33276

Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2024-09-04 08:23:40 +00:00