Skip to content

Commit c511678

Browse files
committed
Write about CI improvements
1 parent e793245 commit c511678

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

_posts/2025-11-02-this-month-in-servo.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ Servo now supports several new web platform features:
2222
<img src="{{ '/img/blog/2025-11-diffie.png' | url }}" alt="servoshell nightly showing new support CompressionStream and synthetic bold">
2323
</figure>
2424

25+
**servoshell** for **macOS** now ships as **native Apple Silicon binaries** (@jschwe, #39981).
26+
Building servoshell for macOS amd64 still works for now, but is no longer officially supported by automated testing in CI (see *§ For developers*).
27+
2528
In **servoshell** for **Android**, you can now enable **experimental mode** with just two taps (@jdm, #40054), use the **software keyboard** (@jdm, #40009), deliver **touch events** to web content (@mrobinson, #40240), and dismiss the location field (@jdm, #40049).
2629
**Pinch zoom** is now fully supported in both Servo and **servoshell**, taking into account the locations of pinch inputs (@mrobinson, @atbrakhi, #40083) and allowing keyboard scrolling when zoomed in (@mrobinson, @atbrakhi, #40108).
2730

@@ -115,6 +118,16 @@ Servo now does **zero unnecessary layout work** when **updating canvases** and *
115118

116119
We’ve fixed crashes when clicking on web content on Android (@mrobinson, #39771), and when running Servo on platforms where JIT is forbidden (@jschwe, @sagudev, #40071, #40130).
117120

121+
## For developers
122+
123+
CI builds for **pull requests** should now take **70% less time**, since they now run on self-hosted CI runners (@delan, #39900).
124+
**Bencher builds** for runtime benchmarking now run on our new [dedicated](https://ci3.servo.org) [servers](https://ci4.servo.org), so our [Speedometer](https://bencher.dev/perf/servo?branches=52e1e9bb-959c-4171-a53d-e06bd694a6c1&testbeds=d742c702-3842-4108-9d0c-2db74e57599a%2Cd5e49dbe-b866-453a-b6ac-1cc2c452b846&benchmarks=0df0380f-9809-45bc-b525-b6ad9d5fbe91%2Cf7c6adb5-e702-42bc-902c-d2154b1e2428&measures=e71c685b-9ce9-4abc-a55d-a1de2ffe04fb&start_time=1733011200000&end_time=1764460800000) and Dromaeo data should now be more accurate and less noisy (@delan, #39272).
125+
126+
We’ve now switched all of our macOS builds to run on arm64 (@sagudev, @jschwe, #38460, #39968).
127+
This helps back our macOS releases with thorough automated testing on the same architecture as our releases, but we can’t run them on self-hosted CI runners yet, so they may be slower for the time being.
128+
129+
Work is underway to set up faster macOS arm64 runners on our own servers (@delan, [ci-runners#64](https://github.com/servo/ci-runners/pull/64)), funded by your donations. Speaking of which!
130+
118131
## Donations
119132

120133
<!--

outline.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
- dev
2+
- DONE https://github.com/servo/servo/pull/39981 (@jschwe, #39981) Fix nightly upload with arm64 (#39981)
3+
dev
24
- https://github.com/servo/servo/pull/39625 (@delan, #39625) NixOS: bump nixpkgs and fix etc/devtools_parser.py (#39625)
35
dev; on nixos and nix, upgrade from LLVM 14 to 20, and fix some build issues
46
- https://github.com/servo/servo/pull/39789 (@jschwe, @sagudev, #39789) Add unittest code coverage to CI (#39789)
57
dev; unit tests now have code coverage in CI
6-
- https://github.com/servo/servo/pull/39272 (@delan, #39272) ci: Run bencher jobs on self-hosted runners (#39272)
8+
- DONE https://github.com/servo/servo/pull/39272 (@delan, #39272) ci: Run bencher jobs on self-hosted runners (#39272)
79
dev; CI jobs for runtime benchmarks now run on self-hosted runners
810
- https://github.com/servo/servo/pull/39812 (@jschwe, #39812) testing: Use nextest for unit-tests (#39812)
911
dev
@@ -15,7 +17,7 @@
1517
dev
1618
- https://github.com/servo/servo/pull/38460 (@sagudev, #38460) ci: Add MacOS Arm64 workflow and run it in full (#38460)
1719
dev
18-
- https://github.com/servo/servo/pull/39900 (@delan, #39900) ci: Tokenless self-hosted runner select (#39900)
20+
- DONE https://github.com/servo/servo/pull/39900 (@delan, #39900) ci: Tokenless self-hosted runner select (#39900)
1921
dev; self-hosted CI for pull requests
2022
- dom
2123
- https://github.com/servo/servo/pull/39506 (@tharkum, #39506) html: Allow legacy referrer policies only for <meta> referrer (#39506)

tools/commits.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1803,7 +1803,7 @@ https://github.com/servo/servo/pull/39834 (@Loirooriol, #39834) layout: Make inl
18031803
# for the relevant part in gecko.
18041804
# Testing: This change adds a test Part of #34527
18051805
+https://github.com/servo/servo/pull/39272 (@delan, #39272) ci: Run bencher jobs on self-hosted runners (#39272)
1806-
dev; CI jobs for runtime benchmarks now run on self-hosted runners
1806+
;dev; CI jobs for runtime benchmarks now run on self-hosted runners
18071807
# some bencher jobs, specifically linux release profile jobs, measure runtime perf by running speedometer and dromaeo.
18081808
# doing this on GitHub-hosted runners is suboptimal, because GitHub-hosted runners are not under our control and their
18091809
# performance can vary wildly depending on what hosts we get and how busy they are.
@@ -2238,7 +2238,7 @@ https://github.com/servo/servo/pull/39914 (@yezhizhen, #39914) base: Do not prin
22382238
From https://github.com/servo/servo
22392239
* branch d6f7a995230fbca9294e5db5c428801ecc34677f -> FETCH_HEAD
22402240
warning: not reachable from default branch: d6f7a995230fbca9294e5db5c428801ecc34677f
2241-
-https://github.com/servo/servo/pull/Fix nightly upload with arm64 (@jschwe, #Fix nightly upload with arm64) Fix nightly upload with arm64
2241+
+https://github.com/servo/servo/pull/Fix nightly upload with arm64 (@jschwe, #Fix nightly upload with arm64) Fix nightly upload with arm64
22422242
jq: invalid JSON text passed to --argjson
22432243
Use jq --help for help with command-line options,
22442244
or see the jq manpage, or online docs at https://stedolan.github.io/jq
@@ -3686,7 +3686,7 @@ https://github.com/servo/servo/pull/40037 (@Loirooriol, #40037) layout: Simplify
36863686
# WebRender API. Since I cannot reproduce this problem locally, this is just an attempt to fix the issue.
36873687
# Testing: This should fix crashes observed with the unit tests. Fixes: #40173.
36883688
+https://github.com/servo/servo/pull/39900 (@delan, #39900) ci: Tokenless self-hosted runner select (#39900)
3689-
dev; self-hosted CI for pull requests
3689+
;dev; self-hosted CI for pull requests
36903690
# one of the biggest gaps in our self-hosted runner coverage is that pull request checks can’t run on self-hosted runners,
36913691
# because reserving a runner currently requires a MONITOR_API_TOKEN secret that is unavailable to pull requests.
36923692
# this patch replaces the authenticated requests to POST /profile/&lt;image>/take?unique_id&amp;qualified_repo&amp;run_id

0 commit comments

Comments
 (0)