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>
This commit is contained in:
Sam 2025-09-07 15:38:42 +02:00 committed by GitHub
parent a672ffb850
commit 286bbe6cb1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 1 deletions

13
.github/actions/apt-mirrors/action.yml vendored Normal file
View file

@ -0,0 +1,13 @@
# Based on https://github.com/CrowdStrike/glide-core/pull/1113
name: Change Mirror Priorities
runs:
using: "composite"
steps:
# https://github.com/actions/runner-images/issues/7048
- name: Change Mirror Priorities
shell: bash
run: |
sudo sed -i '/archive.ubuntu.com\/ubuntu\/\tpriority/ s/priority:2/priority:0/' /etc/apt/apt-mirrors.txt
sudo sed -i '/azure.archive.ubuntu.com\/ubuntu\/\tpriority/ s/priority:0/priority:1/' /etc/apt/apt-mirrors.txt
sudo sed -i '/security.ubuntu.com\/ubuntu\/\tpriority/ s/priority:3/priority:2/' /etc/apt/apt-mirrors.txt
sudo cat /etc/apt/apt-mirrors.txt

View file

@ -64,8 +64,10 @@ jobs:
run: tar -xzf ${{ inputs.profile }}-binary-linux/target.tar.gz
- name: Setup Python
uses: ./.github/actions/setup-python
- name: Change Mirror Priorities
uses: ./.github/actions/apt-mirrors
- name: Bootstrap dependencies
timeout-minutes: 60
timeout-minutes: 10
run: |
sudo apt update
sudo apt install -qy --no-install-recommends mesa-vulkan-drivers fonts-noto-cjk

View file

@ -163,8 +163,12 @@ jobs:
- name: Setup Python
if: ${{ runner.environment != 'self-hosted' }}
uses: ./.github/actions/setup-python
- name: Change Mirror Priorities
if: ${{ runner.environment != 'self-hosted' }}
uses: ./.github/actions/apt-mirrors
- name: Bootstrap dependencies
if: ${{ runner.environment != 'self-hosted' }}
timeout-minutes: 10
run: |
sudo apt update
./mach bootstrap --skip-lints