Skip to content
This repository was archived by the owner on Nov 8, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/actions/fast-apt/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Fast apt on arm64 runners
description: >-
Point Ubuntu package sources at the official ports mirror and set apt retry/timeout
defaults. The default Azure mirror took over 30 minutes for dependency installs on
arm64 runners (runs 40418762416, 40418762747). No-op on non-arm64 runners.
runs:
using: composite
steps:
- shell: bash
run: |
[ "$(dpkg --print-architecture)" = arm64 ] || exit 0
printf 'Acquire::Retries "3";\nAcquire::http::Timeout "20";\nAcquire::https::Timeout "20";\n' \
| sudo tee /etc/apt/apt.conf.d/99ci-fast >/dev/null
for f in /etc/apt/sources.list.d/ubuntu.sources; do
[ -f "$f" ] && sudo sed -i -E 's#^URIs:.*(azure\.)?ports\.ubuntu\.com.*#URIs: http://ports.ubuntu.com/ubuntu-ports#; s#^URIs:.*archive\.ubuntu\.com.*#URIs: http://ports.ubuntu.com/ubuntu-ports#' "$f"
done
[ -f /etc/apt/sources.list ] && sudo sed -i -E 's#https?://[a-z.]*(azure\.)?(ports|archive)\.ubuntu\.com/ubuntu(-ports)?#http://ports.ubuntu.com/ubuntu-ports#g' /etc/apt/sources.list || true
2 changes: 2 additions & 0 deletions .github/workflows/aurora-kernel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
timeout-minutes: 30
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install payload inspection tools
run: sudo apt-get update && sudo apt-get install -y zstd device-tree-compiler shellcheck
- name: Check installer and staging regressions
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ jobs:
docker-images: true
swap-storage: false

- uses: ./.github/actions/fast-apt

- name: Install deps
run: sudo apt-get update && sudo apt-get install just podman zstd -y

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/daily-9.0.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ jobs:
timeout-minutes: 180
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install kernel build tools
run: |
sudo apt-get update
Expand Down Expand Up @@ -101,6 +103,8 @@ jobs:
large-packages: true
docker-images: true
swap-storage: false
- uses: ./.github/actions/fast-apt

- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y just mtools podman zstd rsync
- name: Download enhanced kernel packages
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/message-pins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
repository: erikwb/blueferry
ref: 60fd7ef1abbd25947981f0cf27a521d82784a75f
path: .pin-test-blueferry
- uses: ./.github/actions/fast-apt

- name: Install native fixture dependencies
run: sudo apt-get update && sudo apt-get install -y python3-gi python3-dbus python3-pil gir1.2-gtk-4.0 libgranite-7-dev gir1.2-secret-1 gnome-keyring dbus-x11 xvfb xauth
- name: Check matching, drafts, failed writes and isolated Secret Service
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/msdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ jobs:
CARGO_TARGET_DIR: ${{ github.workspace }}/work/sdk-target
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Provision native SDK test environment
run: |
# The Azure mirror took >25 minutes for two Rust archives in run
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/mseries-debs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ jobs:
- uses: actions/checkout@v7

# Launchpad answers 503 now and then (it broke PR #429's first build); retry before failing.
- uses: ./.github/actions/fast-apt

- name: Add elementary daily PPA (build + gate headers)
run: |
for attempt in 1 2 3 4 5; do
Expand Down Expand Up @@ -209,6 +211,8 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/fast-apt

- name: Install compositor build dependencies
run: |
sudo apt-get update
Expand Down Expand Up @@ -248,6 +252,8 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/fast-apt

- name: Add elementary daily PPA (wingpanel-9 for the indicator)
run: |
for attempt in 1 2 3 4 5; do
Expand Down Expand Up @@ -363,6 +369,8 @@ jobs:
fi
echo "AUTH_HEADER=$auth" >> "$GITHUB_ENV"

- uses: ./.github/actions/fast-apt

- name: Assemble and sign the ${{ steps.suite.outputs.channel }} suite
if: steps.key.outputs.have == 'true'
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/mseries-diskspace-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/fast-apt

- name: Install build and test dependencies
run: |
sudo apt-get update
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/mseries-messages-rs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ jobs:
ref: 60fd7ef1abbd25947981f0cf27a521d82784a75f
path: .pin-test-blueferry

- uses: ./.github/actions/fast-apt

- name: Install build dependencies
run: |
sudo apt-get update
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/mseries-signal-import.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/fast-apt

- name: Install build dependencies
run: |
sudo apt-get update
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/mseries-updates-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/fast-apt

- name: Install build and test dependencies
run: |
sudo apt-get update
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/rust-pantheon-apple-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/fast-apt

- name: Install build dependencies
run: |
sudo apt-get update
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/rust-pantheon-system-monitor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
steps:
- uses: actions/checkout@v7

- uses: ./.github/actions/fast-apt

- name: Install build dependencies
run: |
sudo apt-get update
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/validate-mseries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install desktop integration test dependencies
run: sudo apt-get update && sudo apt-get install -y python3-gi desktop-file-utils
- name: Test without browsers, accounts or network
Expand All @@ -48,6 +50,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install private GTK test dependencies
run: sudo apt-get update && sudo apt-get install -y python3-gi gir1.2-gtk-4.0 gir1.2-ibus-1.0 gir1.2-atspi-2.0 dbus-x11 xvfb xauth
- name: Verify source-only release, rollback and host checks
Expand All @@ -65,6 +69,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install native GTK and private D-Bus test dependencies
run: sudo apt-get update && sudo apt-get install -y valac libgtk-4-dev libgranite-7-dev python3-gi gsettings-desktop-schemas libglib2.0-bin dbus-x11 xvfb xauth
- name: Planner, dock token and size-lint unit tests
Expand All @@ -84,6 +90,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install native GTK and private D-Bus test dependencies
run: sudo apt-get update && sudo apt-get install -y valac libgtk-4-dev libgranite-7-dev python3-dbus python3-gi dbus-x11 xvfb xauth
- name: Keep all Quick Settings builds on shared source preparation
Expand All @@ -100,6 +108,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install private GTK fixture dependencies
run: sudo apt-get update && sudo apt-get install -y python3-gi gir1.2-gtk-3.0 gir1.2-gtk-4.0 xvfb xauth dbus-x11 ffmpeg xdotool gir1.2-pango-1.0 python3-gi-cairo
- name: Check responsiveness, error recovery and scale in both themes
Expand All @@ -115,6 +125,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install GTK and Granite test dependencies
run: sudo apt-get update && sudo apt-get install -y python3-gi gir1.2-gtk-4.0 gir1.2-granite-7.0 xvfb xauth dbus-x11 git meson ninja-build valac gcc pkg-config libgtk-4-dev libgranite-7-dev libgee-0.8-dev libjson-glib-dev libsoup-3.0-dev libsecret-1-dev
- name: Test without a daemon or real guests
Expand Down Expand Up @@ -144,6 +156,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install GSettings test dependencies
run: sudo apt-get update && sudo apt-get install -y python3-gi libglib2.0-bin gsettings-desktop-schemas iproute2
- name: Test with keyfile GSettings, a local IP service and no user services
Expand All @@ -154,6 +168,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install native test dependencies
run: sudo apt-get update && sudo apt-get install -y git valac libglib2.0-dev
- name: Verify activation, delayed Gala readiness and session stops
Expand All @@ -167,6 +183,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install GTK test dependencies
run: sudo apt-get update && sudo apt-get install -y git valac libgtk-4-dev libgranite-7-dev xvfb xauth build-essential python3-gi libglib2.0-bin
- name: Test top-bar 130 percent measurement and allocation
Expand All @@ -181,6 +199,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y meson ninja-build valac gcc pkg-config libgtk-4-dev libgranite-7-dev libjson-glib-dev libsoup-3.0-dev libsecret-1-dev python3 appstream desktop-file-utils xvfb xauth dbus-x11 genisoimage curl qemu-utils
- name: Build and run the tests (machines, QMP, clipboard, display, Incus, Podman, window)
Expand All @@ -205,6 +225,8 @@ jobs:
runs-on: ubuntu-26.04-arm
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install native build and headless test dependencies
run: >-
sudo apt-get update && sudo apt-get install -y git meson ninja-build valac gcc pkg-config
Expand Down Expand Up @@ -234,6 +256,8 @@ jobs:
timeout-minutes: 30
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install build and headless EDS test dependencies
run: >-
sudo apt-get update && sudo apt-get install -y git meson ninja-build valac gcc pkg-config gettext sassc
Expand Down Expand Up @@ -264,6 +288,8 @@ jobs:
[[ "$audit_revision" =~ ^[0-9a-f]{40}$ ]] || exit 1
git fetch --no-tags --depth=1 origin "$audit_revision"

- uses: ./.github/actions/fast-apt

- name: Install deps
run: sudo apt-get update && sudo apt-get install just podman zstd bison flex device-tree-compiler mtools fdisk shellcheck dpkg-dev -y

Expand Down Expand Up @@ -336,6 +362,8 @@ jobs:
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/fast-apt

- name: Install offline test tools
run: sudo apt-get update && sudo apt-get install -y mtools fdisk shellcheck python3-libarchive-c keyutils
- name: Validate hardware ports without target hardware
Expand Down Expand Up @@ -366,6 +394,8 @@ jobs:
# The crate pins gtk4 0.11 (v4_20) and granite-rs 3.3 (v7_8); Ubuntu's libgranite-7-dev is 7.8, enough
# for the bindings, so no PPA is needed here (RUST-UPSTREAM-MAINTENANCE.md). The indicator needs the
# wingpanel-9 API, which the daily PPA ships.
- uses: ./.github/actions/fast-apt

- name: Add elementary daily PPA (wingpanel-9 for the indicator)
run: |
for attempt in 1 2 3 4 5; do
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/verification-codes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
repository: erikwb/blueferry
ref: 60fd7ef1abbd25947981f0cf27a521d82784a75f
path: .code-test-blueferry
- uses: ./.github/actions/fast-apt

- name: Install native fixture dependencies
run: sudo apt-get update && sudo apt-get install -y python3-gi python3-dbus python3-pil gir1.2-gtk-4.0 gir1.2-atspi-2.0 libgranite-7-dev at-spi2-core dbus-x11 xvfb xauth xdotool gsettings-desktop-schemas gnome-settings-daemon-common shellcheck
- name: Check models, actual field editing and settings in isolation
Expand Down
Loading