Commit graph

94 commits

Author SHA1 Message Date
shuppy
059a2fd86d
ci: Convert runner select to composite action (#39270)
to run bencher builds on self-hosted runners (#39269), we will need to
do a self-hosted runner select, but that would exceed the workflow call
depth limit (try → dispatch-workflow → linux → bencher →
self-hosted-runner-select).

this patch converts the self-hosted runner select from a [reusable
workflow](https://docs.github.com/en/actions/concepts/workflows-and-actions/reusable-workflows)
to a [composite
action](https://docs.github.com/en/actions/tutorials/create-actions/create-a-composite-action),
much like #38503 did for the runner timeout.

Testing:
- self-hosted
<https://github.com/servo/servo/actions/runs/17674919359/job/50235098986>
- GitHub-hosted
<https://github.com/delan/servo/actions/runs/17674928875/job/50234708810>

Fixes: part of #39269

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-09-15 04:54:43 +00:00
shuppy
2b2ea05c12
ci: Make runner timeout jobs conditional, not the steps (#39268)
#38503 converted the self-hosted runner timeout from a [reusable
workflow](https://docs.github.com/en/actions/concepts/workflows-and-actions/reusable-workflows)
to a [composite
action](https://docs.github.com/en/actions/tutorials/create-actions/create-a-composite-action),
but in doing so, it changed from having a conditional job to having a
conditional step. [This Update Broke My
Workflow](https://xkcd.com/1172/), because i enjoyed being able to tell
if a job ended up being GitHub-hosted or not by seeing if its timeout
job was skipped, rather than having to click on the workload job then
wait then scroll up then click “Set up job”.

this patch fixes that by making the job conditional.

Testing:
- self-hosted
<https://github.com/servo/servo/actions/runs/17674214808/job/50232483209>
- GitHub-hosted
<https://github.com/delan/servo/actions/runs/17674531369/job/50233465791>

Fixes: #39192

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-09-12 14:04:59 +00:00
atbrakhi
268a0eeb2d
ci: Reland run devtools tests whenever we run unit tests from #38614 (#39267)
This patch updates `linux.yml`, `mac.yml`, and `windows.yml` to run the
devtools test suite (https://github.com/servo/servo/issues/36325).


Testing: this patch effectively adds all devtools tests to CI
Fixes: https://github.com/servo/servo/issues/36325

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: Delan Azabani <dazabani@igalia.com>
2025-09-12 11:14:38 +00:00
Sam
286bbe6cb1
CI: Change APT mirror priorities (#39190)
We noticed many times that bootstrap sometimes takes a lot of time due
to slow download speed: [#general > Bootstrap is slow in CI @
💬](https://servo.zulipchat.com/#narrow/channel/263398-general/topic/Bootstrap.20is.20slow.20in.20CI/near/537610373).
We [reported this to
github](https://github.com/actions/runner-images/issues/12949) and they
said we should just use different mirrors. Based on
https://github.com/CrowdStrike/glide-core/pull/1113 we change Ubuntu's
mirror priorities from:
```
http://azure.archive.ubuntu.com/ubuntu priority:0
https://archive.ubuntu.com/ubuntu priority:1
https://security.ubuntu.com/ubuntu priority:2
```
to:
```
https://archive.ubuntu.com/ubuntu priority:0
http://azure.archive.ubuntu.com/ubuntu priority:1
https://security.ubuntu.com/ubuntu priority:2
```
I also set more strict timeout (10 min; usually it takes 2-3 min but
always less then 4 min) for bootstrap to alert us on problems.

Testing: Manual CI run:
https://github.com/sagudev/servo/actions/runs/17527791255

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-07 13:38:42 +00:00
Martin Robinson
20ad1ce84e Revert "ci: Run devtools tests whenever we run unit tests (#38614)"
This reverts commit 47aa9ea8cf.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-13 07:53:20 -07:00
Jonathan Schwender
4b91dc6d82
CI: Check MSRV in CI (#37152)
As previously proposed on zulip and discussed in the coordination
meeting, add a check to CI to see if
servo still compiles with our minimum supported Rust version.
To avoid requiring changes, we define our MSRV as the current version we
are using now (1.85.0).

This does not prevent us from updating the default compiler version,
which we should still do, to
get benefits like faster compile times, newer lints and making sure
crown stays up-to-date.

We simply test that libservo compiles in CI, since libservo (and
dependencies) is what embedders would care about. We also don't need
mach (or bootstrap!) for this, so we just use cargo build.

Testing: This PR adds a CI test. [`./mach try windows-build-libservo
linux-build-libservo
mac-build-libservo`](https://github.com/jschwe/servo/actions/runs/16901171766)

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-12 19:19:45 +00:00
shuppy
47aa9ea8cf
ci: Run devtools tests whenever we run unit tests (#38614)
this patch updates linux.yml, mac.yml, and windows.yml to run the
devtools test suite (#36325), whenever unit tests are enabled in those
workflows. plus three changes that speed up the tests from 73 → 65 → 56
→ 51 seconds:

- we replace the hardcoded sleep(1) after starting servoshell with a
loop that waits until the devtools port is open (this also fixes
intermittent failures when servoshell starts too slowly, especially on
macOS)
- we start the internal web servers once, and reuse them across all
tests
- we run servoshell in headless mode (this is also required because most
CI runners have no GUI)

finally we fix two bugs that cause very noisy but not very interesting
error messages:

- in the test code, we use a [context
manager](https://docs.python.org/3/reference/datamodel.html#context-managers)
to ensure the devtools client is disconnected unconditionally, even if
test methods or assert helper methods raise exceptions (this was causing
errors on all platforms)
- in the devtools server, we treat “connection reset” errors when
reading from the client like a normal EOF, rather than as a failure
(this was causing errors on Windows)

on self-hosted linux builds, there are still spurious error messages
like the following, but we can fix them later:

```
error: XDG_RUNTIME_DIR not set in the environment.
libEGL warning: egl: failed to create dri2 screen
```

Testing: this patch effectively adds 44 tests to CI
Fixes: #36325

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-08-12 15:10:45 +00:00
Jonathan Schwender
c055e8b456
ci: Move runner-timeout to composite action (#38503)
We are hitting the limit of 20 workflow references in servo. To help
mitigate this somewhat, we migrate the timeout job to a composite
action, which should be able to support our needs just as well.

Testing: [try run of this
PR](https://github.com/servo/servo/actions/runs/16783916103/job/47529580725).
[try run with unconditional
cancel](https://github.com/servo/servo/actions/runs/16784074213/job/47530099654).

This reduces our workflow count by one, slightly helping to address
#36143

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-07 05:13:36 +00:00
sagudev
c0339dd360
CI: add build-args (#36947)
Add `build-args` input in CI and try_parser job definition so we can
pass own build args to `./mach build`

Testing: There are tests for try parser and I tested CI in my fork.
Fixes: partial fix #36823

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-05-12 07:41:12 +00:00
sagudev
bd9242acfa
CI: Add number_of_chunks (#36584)
This allows changing number of chunks used for WPT testing (sometimes
useful for WebGPU).

Testing: Manual try runs
Fixes: #30062

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-04-18 06:38:28 +00:00
Mukilan Thiyagarajan
3c4a4d53dd
ci: use Ubuntu 22.04 for nightly jobs (#36377)
The upstream PR (web-platform-tests/wpt#51084) to update the WPT.fyi
docker image to 22.04 landed a few days back. No new issues have been
discovered so far in wpt.fyi, so it should be safe for us to move to
22.04 for the nightly builds.

Fixes #35747.

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-04-07 11:32:32 +00:00
MDCODE247
3b293f4949
Remove references to 2020 layout in try_parser.py (#36047)
* Remove references to 2020 layout in try_parser.py

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>

* Removed all references to CHANGE

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>

* Updated .yml workflow files

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>

* update more references

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>

* fixed right hand argument

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>

* Fixing more references

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>

* mach: remove unused import in try_parser.py

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

* ci: update reference to wpt_layout in try.yml

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

---------

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-03-25 11:19:48 +00:00
Kelechi Ebiri
2e3e092f19
chore: simplify linux workflow (#36037)
* chore: simplify linux workflow

Signed-off-by: TG <ebiritg@gmail.com>

* chore: remove occurances of wpt-layout

Signed-off-by: TG <ebiritg@gmail.com>

* chore: remove invalid workflow in main.yml file

Signed-off-by: TG <ebiritg@gmail.com>

* chore: retain wpt-layout workflow as requested

Signed-off-by: TG <ebiritg@gmail.com>

---------

Signed-off-by: TG <ebiritg@gmail.com>
2025-03-20 10:52:19 +00:00
Oriol Brufau
e2daeeaceb
Change github workflows to not compile legacy layout (#35946)
Since it will be removed in #35943

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-12 22:09:21 +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
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
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
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
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
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
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
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
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
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
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
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
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
Samson
ebdae6094e
CI: Add separate Lint&Tidy check and remove test-tidy from linux (#33150)
* Create separate Lint&Tidy check

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

* Remove quick-check as it's not longer relevant

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

* Add clippy to rust-toolchain

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

* fix try parser test expectations

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

* use lint in result

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

* Lint & Tidy -> Lint

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
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>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-08-23 08:58:12 +00:00
Samson
b5fe99ba5d
wpt-tests-to-run -> wpt-args and make them last so they can override already provide (#33115)
d options

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-08-19 07:29:40 +00:00
Mukilan Thiyagarajan
b243457ccc
ci: fix security issue in try job workflow (#32724)
This [issue][1] was reported by GitHub user @RedYetiDev via the Security
Advisory reporting mechanism on GitHub. The fix is also based on their
proposed solution.

The issue is that `refs/pull/{pr_number}/head` points to the latest
commit of a PR and so it could be different than the commit that was
reviewed when the try label was applied. The fix is to use the exact commit
sha at the point when the try job is triggered, which is available in
the `github` context as  `github.event.pull_request.head.sha`.

[1]: https://github.com/servo/servo/security/advisories/GHSA-fxqr-xgh8-3577

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Aviv Keller <38299977+RedYetiDev@users.noreply.github.com>
2024-07-08 10:08:23 +00:00
Jonathan Schwender
26bbfe9b55
Make crown optional (#32494)
* Make `crown` optional

Add the optional `--use-crown` flag to mach

* --use-crown for all platforms in CI

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

* Add documentation for `--use-crown`

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

* Update python/servo/command_base.py

Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Raise Error if CARGO_BUILD_RUSTC conflicts with --use-crown

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

* add dummy RUSTFLAG to trigger re-checking

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

---------

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2024-06-24 11:46:43 +00:00
Jonathan Schwender
1d2949f2b3
CI: Cache cargo-deny (#32543)
Use the `cargo-install` action to cache the cargo-deny output.
`cargo-deny` is currently unconditionally installed during bootstrap,
and takes around 2 minutes to install, so caching should give a
significant speedup

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
2024-06-18 09:55:13 +00:00
Mukilan Thiyagarajan
1bcb4787d2
ci: enable sccache for Rust compilation. (#32330)
This was previously disabled in #30508 due to sccache not
working well with crown. The sccache issue (mozilla/sccache#861)
linked in that PR is now closed and [testing][1] on my fork also
seems to indicated we should be able to turn on sccache again.

[1]: https://github.com/mukilan/servo/actions/runs/9154196647

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-05-21 06:10:54 +00:00
Oriol Brufau
ea62a5e24f
Use --locked when building in CI (#31720)
Thus the build will immediately fail if a PR modifies Cargo.toml but
forgets to include the changes in Cargo.lock

This was previously checked by lockfile_changed.sh after building
normally, wasting resources.
2024-03-21 11:54:02 +00: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
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
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
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
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
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