Commit graph

350 commits

Author SHA1 Message Date
Samson
b56a3caea0
Generate Try Configuration use ubuntu-22.04 (#35746)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-03-02 14:21:22 +00:00
Simon Wülker
be6765447d
Update to rust 1.85 (#35628)
* Update to rust 1.85

This is needed for cargo-deny

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Upgrade crown

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Clippy fixes

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Re-upgrade cargo-deny to 0.18

Keeping it locked to 0.18 just in case they
update their required rustc version again

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-24 17:44:35 +00:00
Samson
d78f7b2d78
ci: Always install crown, even on self-hosted (#35637)
Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2025-02-24 17:15:46 +00:00
Oriol Brufau
e74bb8de15
Prevent lint job from trying to use incompatible cargo-deny version (#35632)
Lint jobs were failing because they would try to install the latest
version of cargo-deny (0.18.0), which requries rustc 1.85.0 or newer,
while the currently active rustc version is 1.83.0.

Therefore this makes it install version 0.17 instead.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-02-24 12:47:51 +00:00
Xiaocheng Hu
2b0d2ecc73
Rebase and squash (#35567)
Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-02-21 11:54:25 +00:00
Samson
0d51578cc3
ci: Free some disc space on GitHub hosted runners (#35181)
Speculative fix for #35179

Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com>
2025-02-04 06:55:13 +00:00
Delan Azabani
5a0a60efc1
CI: temporarily stop running libservo builds by default (#35180)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-01-27 08:44:52 +00:00
Delan Azabani
2db828f0c7
Add minimal libservo example using winit (#35118)
* Add minimal libservo example using winit

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

* CI: include examples in libservo compile test

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

* CI: build libservo with `continue-on-error`

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>
2025-01-23 12:15:53 +00:00
Delan Azabani
0af1204aa3
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>
2025-01-23 09:05:10 +00:00
Jonathan Schwender
935364b7bc
ci: Fix ohos test artifact name (#35143)
I'm not quite sure why a workflow run would
have a duplicate artifact name for test_output,
but hopefully this patch should fix upload failures
such as in 3603785058

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-01-23 07:19:59 +00:00
Mukilan Thiyagarajan
76530a857e
ci: remove explicit permissions block in bencher.yml (#35142)
This is causing a validation error because Github's static analysis sees
nightly.yml is calling bencher.yml but the latter requires permissions
that are more relaxed than the former (for android & ohos). Since other
workflows are not failing validation, they presumably already run with
default permissions that are satisfy bencher.yml's requirements
(bencher.yml is not relaxing the parent workflow's permissions as that
would defeat the usefulness of the validation that Github is enforcing).

In the long run we should move to default-restrictive permissions and
then have the top-level workflows declare the required permissions. The
permissions in bencher.yml seems to serve only as machine-checked
documentation, but as it is causing issues with nested calls that are
not possible at runtime, it seems like we have to either pass additional
permissions in top-level workflows (that are not needed, so that is bad)
or not declare them in nested workflows.

Fixes #35141.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-01-23 05:16:56 +00:00
Jonathan Schwender
e3d347d4b4
CI: Test ohos on HarmonyOS device (#35006)
* ohos: Add event for page loaded

We can use this to check if we succeeded.

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

* CI: Test OpenHarmony on self-hosted runner

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

* fix typo

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

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2025-01-23 03:35:51 +00:00
DK Liao
554d4a6420
fix: ohos workflow expression error (#35109)
Signed-off-by: DK Liao <dklassic@gmail.com>
2025-01-21 22:06:50 +00:00
Alex Touchet
6becee2f2e
Create servo-media Dependabot group (#35098)
Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
2025-01-20 22:45:47 +00:00
DK Liao
9ceb957dd8
feat: Track the binary size for all the different platforms (#34744)
* feat: Track the binary size for all the different platforms

Signed-off-by: DK Liao <dklassic@gmail.com>

* Add target to bencher job name

Signed-off-by: DK Liao <dklassic@gmail.com>

* Update .github/workflows/bencher.yml

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: DK Liao <dklassic@gmail.com>

---------

Signed-off-by: DK Liao <dklassic@gmail.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-01-20 09:41:23 +00:00
Delan Azabani
2cd5e1356c
CI: use new self-hosted runner servers (#35002)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-01-15 12:11:43 +00:00
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
Nico Burns
5bd28f2abd
Add nicoburns to CODEOWNERS (#34351)
Signed-off-by: Nico Burns <nico@nicoburns.com>
2024-11-23 09:44:31 +00:00
atbrakhi
fd3af6ad04
Add @atbrakhi to the CODEOWNERS file (#34334)
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2024-11-22 09:18:20 +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
Oriol Brufau
c5cf2621b6
Add @Loirooriol to the CODEOWNERS file (#34316)
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2024-11-20 21:16:27 +00:00
Martin Robinson
b3eb5bb02c
Add @mrobinson to the CODEOWNERS file (#34308)
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-11-20 16:47:23 +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
a58d6d1fa1
Update CODEOWNERS (#34304)
Add myself as a reviewer for OpenHarmony related code

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-20 11:27:13 +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
Jonathan Schwender
5970132595
build(deps): bump napi-ohos related crates (#34227)
* bump napi-ohos* crates to 1.0.2

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

* dependabot: group napi-ohos related updates

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

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-12 06:49:54 +00:00