Commit graph

392 commits

Author SHA1 Message Date
Samson
f98975bbbe
Update raw lags path for WPT import (#31714)
I forgot to do this in #31616
2024-03-17 09:48:12 +00:00
Manuel Rego Casasnovas
ac24cd6139
Update new issue URL in SECURITY.md (#31698)
* Update new issue URL in SECURITY.md

Update URL for new issue so it uses the security template: https://github.com/servo/servo/issues/new?template=security-report.md

* Link to https://github.com/servo/servo/security/advisories/new instead
2024-03-15 15:03:49 +00:00
Manuel Rego Casasnovas
74b5f798cd
Add issue templates (#31693)
* Add issue templates

This will allow to label new issues when filled depending on their type.

* Update .github/ISSUE_TEMPLATE/bug_report.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/bug_report.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/bug_report.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/feature_request.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/feature_request.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/feature_request.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/security-report.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/security-report.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update .github/ISSUE_TEMPLATE/security-report.md

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Fix typo

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-15 12:18:47 +00:00
Manuel Rego Casasnovas
0b4b544910
Update FUNDING.yml (#31633)
Add GitHub sponsors
2024-03-13 02:40:54 +00:00
Samson
da609076c3
Add wpt-report output & continue if filtering failed (#31616)
* Add wpt-report artifact

* Merge logs (filtered) are last so we still get other logs merged

* fixup

* it's wptreport.json

* wptreport in full artifact

* Apply suggestions from code review

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-03-12 13:45:36 +00:00
Martin Robinson
d076b118c4 ci: Fix packaging step on Windows
WiX doesn't seem to be on the path any longer, so it must be added
manually as a temoprary workaround.
2024-03-07 11:07:54 +01:00
Samson
cd92a17c5e
ci: Update remaining GitHub actions to versions using Node.js 20 (#31450)
* Update sccache action

* Update baptiste0928/cargo-install

* Update github-script

* Update actions/setup-java

* Update nick-fields/retry
2024-02-29 08:24:38 +00:00
Mukilan Thiyagarajan
0a8b69879a
ci: Fix nightly release action (#31420)
* ci: check result of dependent jobs explicitly

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>

* ci: use ubuntu latest image in more jobs

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>

---------

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
2024-02-23 14:55:00 +00:00
Martin Robinson
2946fa83ec
ci: Switch to actions/checkout@v4 (#31379)
This change also removes the use of `fetch-depth: 2` where it isn't
necessary. These were likely copy-and-pasted from other workflows.
2024-02-19 16:23:53 +00:00
Manuel Rego Casasnovas
a726bb0fe1
Update FUNDING.yml (#31377) 2024-02-19 09:15:31 +00:00
Martin Robinson
1cc546c4fc
ci: Switch to version 4 of GitHub artifact actions (#31357)
* ci: Switch to version 4 of GitHub artifact actions

This switches to version 4 of the GitHub artifact actions, which
requires producing a single artifact per job and adding merge steps. In
addition, the names of artifacts are standardized:

- Build: <profile>-binary-<platform>
- Full WPT results (only on failure): wpt-full-logs-<platform>-<layout>
- Filtered WPT results (only on failure): wpt-filtered-logs-<platform>-<layout>

* Delete merged build timings and combine with Result job

* Always archives logs even after test failures

* Correct the name of the log files for WPT import
2024-02-17 16:59:43 +00:00
Delan Azabani
d00312eb08
Bury failed nightly releases as prereleases (#31348) 2024-02-14 08:05:09 +00:00
Martin Robinson
a3ce1f2636
ci: Make dispatch-workflow.yml GitHub job names a bit friendlier (#31340)
This makes the names match the ones used in the workflows themselves.
2024-02-13 16:27:11 +00:00
Samson
b10875956a
Delete result job in leaf workflows (#31191) 2024-01-27 00:07:04 +00:00
Samson
a5c512808a
Matrix in CI and mach try with presets (#31141)
* Matrix in CI and mach try with presets

* small fixups

* names in trigger try run comment

* let

* f

* rename step

* fix running try on win

* fix try branch full

* py3.10

* typo

* Make unit-tests default to false, except in basic os runs

Fixes https://github.com/servo/servo/issues/31174

* make full use linux-wpt & linux-wpt also include unit-tests

so full is equal to main workflow

* Stylish fixes

* cmp json as dict
2024-01-26 12:29:37 +00:00
Martin Robinson
dc2df7b027
build: Add support for Visual Studio 2022 and VC143 DLLs (#31148)
* build: Add support for Visual Studio 2022 and VC143 DLLs

This change adds supports fot Visual Studio 2022 and the VC143 (current)
version of the Visual Studio CRT. In addition, it reworks the way that
Visual Studio is found, returning all installations in a generator,
separately finding it via vswhere.exe, searching paths, and via
environment variables.

All of these installations are searched for the DLLs with highest
priority given to the highest version of MS Visual Studio installed. The
hope is that this makes the process more robust and properly handles
having multiple versions installed, but only one with the correct
runtime DLLs.

* Update based on review comments

Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-01-23 11:04:01 +00:00
Mukilan Thiyagarajan
cf5d9c7a28
ci: fix reference to android job filename in main.yml (#31150)
* ci: fix reference to android job filename in main.yml

* mach: fix build command to handle android

The refactoring done in PR #31092 introduced the call to
get_binary_path in the unconditional path, but did not
pass the android flag to the call.

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

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-01-23 05:37:33 +00:00
Mukilan Thiyagarajan
d7de206dbd
Preliminary Android build support (#31086)
* Android build

* Fixes
* More fixes
  - Still failing in the linking step
* More work on getting linking working

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

* android: use mozjs with ndk r25c. loads servo.org

more android build fixes.

* fix ./mach run for android and make it follow logs

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

* add experimental logic for compositor pause/resume

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

* pass DPI from android to simpleservo

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

* ci: add android workflow

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

* switch to ANDROID_SDK_ROOT and ANDROID_NDK_ROOT vars

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

* upgrade gradle to 4.10.1

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

* upgrade to gradle 5.1.1

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

* upgrade to gradle 8 and agp 8

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

* make compositing work again with external present

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

* android: improve mach support for non-NixOS and CI

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

* fix sampler compilation bug introduced in #30490

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

* ci: add android build to main workflow

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

* gradle: set MinSdk = targetSdk = 30

NDK requires we compile against the minSdk API level
which is 30 in our case.

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

* add instructions for android in README.md

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

* apk: move servosurface to servoview

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

* apk: uncomment the mediasession callbacks on MainActivity

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

* apk: fix crash on MainAtivity.onDestroy

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

* apk: drop VR, arm 5 and unused code

This commit drops:
* support for google, oculusvr
* support for arm5 architecture

and also removes
* fakeld scripts
* unused java code

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

* cleanup shell.nix

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

* android: add FIXMEs for gstreamer code

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

* apk: remove commented code and debug logs

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

* cleanup ServoView.java

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

* mach: comment call to download gstreamer deps for android

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

* disable bluetooth for jniapi as blurdroid is broken

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

* fixup! README.md

* fixup! remove change in Cargo.toml

* fixup! move shell variables together

* fixup! cleanup jniapi/Cargo.toml comments

* delete commented gstreamer related android code

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

* remove unused config variable in servbuild

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

* android: more cleanup

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

* force no_static_freetype only for android

* use actions to manage sdk, ndk and java

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

* rename embedder event names to be more clear.

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

* link to startup crash issue

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

* fix lint issues

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

* upgrade env_logger to 0.10 with duplicate exception

libservo and android_logger can use env_logger 0.10
but quickcheck is still stuck on 0.8 and has not seen
any activity in the last 2 years. This commit adds
a duplicate exception until the quickcheck dependency
can be upgraded (or replaced)

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

* android: fix comments

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

* disable jemalloc on android

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

* fixup! replace linux with android in cfg

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-01-22 13:00:15 +00:00
Martin Robinson
c3fd27c225
ci: Fix WPT try layout configuration (#31118)
The member `layout` was renamed to `wpt_layout`, but not in all places.
This fixes that issue.
2024-01-18 12:11:56 +00:00
Samson
c06ae7faf2
ci: Set LLVM_PATH when building docs (#31095)
* Add llvm to path

This is needed on 22.04 runners (that we started using in https://github.com/servo/servo/pull/31088).

* Update docs.yml

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-01-16 12:19:32 +00:00
Martin Robinson
efa38c67fe
ci: Remove the nightly-rust workflow (#31091)
This workflows tested Servo with the most recent nightly version of
Servo. Now that Serv compiles against a stable version of Rust, this
isn't so interesting. We are hoping to eliminate all use of unstable
features in the future.
2024-01-15 13:38:20 +00:00
Martin Robinson
0d240b8713
deps: Raise the Python requirement to 3.10 (#31088)
This will allow us to use the pip's new dependency resolver.
2024-01-15 11:56:15 +00:00
Martin Robinson
3c1ab65458
crown: Add a cargo config.toml file (#31090)
This makes it more foolproof to install crown from inside the Servo
directory, because the root Servo config.toml overrides the rustc to use
crown (an obvious circular dependency).
2024-01-15 11:18:48 +00:00
Diwakar Gupta
81d4236c8c
fixed commented time in nightly-rust.yml (#31057) 2024-01-10 14:51:18 +00:00
Martin Robinson
7fa4ea9740
Upgrade media / GStreamer / GLib (#30750)
- Upgrade the version of GStreamer for Windows

This upgrades the Windows build to use the most recent version of
GStreamer. This is necessary to upgrade our GStreamer dependency.

- Stop shipping GStreamer binaries on Linux

The binary bundle of GStreamer that we package is not used to compile --
only to run layout tests. It's too old for the APIs that we are using
(as evidenced by needed 1.18 for WebRTC) and nowadays Linux
distributions carry a new version so it's unecessary for our build
machines. No longer using this binary bundle will allow us to upgrade
our GStreamer dependency -- which now has stricter checks that we
are using at least version 1.18.

- Upgrade media to use newer versions of GStreamer / GLib dependencies
2024-01-05 08:01:58 +00:00
Martin Robinson
3353db71d2
Fail gracefully when DMG smoketest fails (#30975)
It seems that timing issues (related to MacOS or the GitHub MacOS)
runners can sometimes cause `hdiutil detach` to fail. Instead of having
this cause the entire build to fail, fail gracefully. This is
essentially a non-issue as the CI environment is always cleaned up when
using GitHub Actions.

Fixes #30757.
2024-01-02 16:11:16 +00:00
Samson
3ce590bec4
Fix wpt-sync-from-upstream boolean (#30925) 2023-12-25 06:28:16 +00:00
Samson
1f0f50b22b
Customizable wpt options and profile in workflows (#30912)
* wpt -> wpt-sync

* Add profile configuration option

* Add wpt (for custom tests selection) to CI

* Renaming of wpt-* options

* fixup! do renames also in scripts

* fixup! profile

* Fix try labels
2023-12-22 12:49:39 +00:00
Martin Robinson
f2882879d8
Fix the try build when pushing to branches (#30903)
Make it so that all try builds go through try.yml and pass
workflow_call arguments as expected to subsequent workflows.

Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
2023-12-21 15:12:54 +00:00
Martin Robinson
01013b9ea8
Re-enable minification to fix the doc build (#30871)
Disable isn't possible for non-nightly versions of Rust, so this is
currently breaking the doc build. In addition, it seems that the
original issue that triggered this change [^1] is now fixed.

[^1]: https://github.com/rust-lang/rust/issues/58849
2023-12-13 16:57:43 +00:00
Samson
1105eb66e9
Use os version in taplo cache-key & setuptools 65 in py3.8 (#30848) 2023-12-11 15:06:43 +00:00
Samson
3a5634a20c
Update linux.yml (#30846) 2023-12-08 18:14:40 +00:00
Corey Farwell
117d59d393
Replace virtualenv with Python's built-in venv (#30377)
* Replace virtualenv with Python's built-in venv.

* Apply Delan's suggestions and make a couple small fixes

- Fix a tidy warning about directories that don't exist
- Use shutil instead of the redundant get_exec_path
- Miscellaneous cleanups

* Fix typo in environment variable

* fix bug where pip still tries to the wrong site-packages

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Delan Azabani <dazabani@igalia.com>
2023-12-07 08:18:30 +00:00
Martin Robinson
63701b338c
Fix the upload docs action after renaming master to main (#30820) 2023-12-04 10:51:52 +00:00
Martin Robinson
23add0c1e5 Rename the master branch to main 2023-12-04 10:11:56 +01:00
Samson
604979e367
Replace script_plugins with a clippy like rustc driver (named crown) (#30508)
* Remove script_plugins

* Use crown instead of script_plugins

* crown_is_not_used

* Use crown in command base

* bootstrap crown

* tidy happy

* disable sccache

* Bring crown in tree

* Install crown from tree

* fix windows ci

* fix warning

* fix mac

libscript_plugins.dylib is not available anymore

* Update components/script/lib.rs

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* Update for nightly-2023-03-18

Mostly just based off https://github.com/servo/servo/pull/30630

* Always install crown

it's slow only when there is new version

* Run crown test with `mach test-unit`

* Small fixups; better trace_in_no_trace tests

* Better doc

* crown in config.toml

* Fix tidy for real

* no sccache on rustc_wrapper

* document rustc overrides

* fixup of compiletest

* Make a few minor comment adjustments

* Fix a typo in python/servo/platform/base.py

Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>

* Proper test types

* Ignore tidy on crown/tests

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2023-12-01 15:50:52 +00:00
Mukilan Thiyagarajan
81a38bde8c
ci: do not set LIBCLANG_PATH for nightly build (#30792)
This environment variable was added when we moved
to Ubuntu 22.04 and it is not needed for nightly
builds which we have now switched to 20.04

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2023-11-28 09:49:17 +00:00
Mukilan Thiyagarajan
d10688b5ef
ci: use ubuntu 20.04 for nightly builds on linux (#30787)
Ubuntu 22.04 has a newer glibc (2.34) which means builds
from there won't run on systems with older glibc, most
notably the wpt.fyi taskcluster runners which use 20.04
as the docker base image.

This is a temporary workaround until wpt upgrades to 22.04

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2023-11-27 11:55:44 +00:00
Martin Robinson
6dec39e959
Try to kill XProtect before running Mac CI (#30779)
This is an attempt to fix errors on the Mac CI when running `hdiutil`
that look like this:

```
Run python3 ./mach package --release
hdiutil: create failed - Resource busy
Creating Servo.app
Copying files
Swapping prefs
Finding dylibs and relinking
Adding version to Credits.rtf
Creating dmg
Packaging MacOS dmg exited with return value 1
Error: Process completed with exit code 1.
```

This approach was taken from
https://github.com/actions/runner-images/issues/7522.
2023-11-24 10:26:36 +00:00
Samson
7a5854693e
Retry packaged smoketest on mac (#30766) 2023-11-22 06:37:26 +00:00
Martin Robinson
35b4641bf9
Add a concurrency group to try jobs (#30756)
This should prevent multiple `parse-comment` jobs from running at the
same time for the same pull request, reducing the number of duplicate
builds when multiple labels are applied.
2023-11-21 08:40:27 +00:00
Samson
868d84d8ee
Retry smoketest on mac (#30716) 2023-11-20 15:50:34 +00:00
Samson
96d37d3785
Add --production option to mach (#30707)
* --prod(uction) mach argument

* Use profile in workflows instead of production

* Use profiles in unit tests

* ups

* Build (${{ inputs.profile }})
2023-11-10 10:38:33 +00:00
Martin Robinson
fe7bdb7e4b
Remove support for triggering try from comments (#30712)
Triggering from labels means that we have less actions running and less
false job failures spamming project members. Plus, we have more
flexibility with labels rather than the backward compatibility we have
set up for bors comments.
2023-11-09 10:31:49 +00:00
Martin Robinson
e0c0b65e2a
Inherit secrets in the main workflow (#30708)
This is an attempt to fix results in the intermittent tracker.
2023-11-08 14:23:54 +00:00
Samson
fd5f04c18e Use runner provided python 2023-11-03 16:41:26 +00:00
Mukilan Thiyagarajan
b268936308
ci: use ubuntu 22.04 on linux runners (#30162)
* ci: use ubuntu 22.04 on linux runners

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

* Add env fix

* update expectations for tests under ubuntu-22.04

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

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2023-11-03 05:42:44 +00:00
Martin Robinson
8fd370784e
Update mozjs and setuptools (#30685)
This should fix issues with Python 3.12 on Mac builders.

Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
2023-11-02 16:55:12 +00:00
Samson
c2af95d2fc
Unit tests are becoming more flaky, so retry them (#30682)
* Unit tests are becoming more flaky, so retry them

* Timeouts everywhere

* Limit windows test threads for unit tests
2023-11-02 15:23:04 +00:00
Samson
31ca45e589
Replace environmental cargo_profile___ with ${{}} (#30658) 2023-11-02 05:57:08 +00:00