Commit graph

9 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
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
Jonathan Schwender
d01bba4e50
ci: bump uv version (#38494)
Bumps uv in CI to 0.8.5

Testing: try run:
https://github.com/servo/servo/actions/runs/16782161133

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-09-02 05:24:26 +00: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
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
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
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