summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-08-05 14:24:31 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-08-05 14:24:31 +0200
commitd29d5e06e936311d52e593b887b07712fd91d301 (patch)
tree5b11a3d758932198d6ca15d04e576b45e905d5d7
parent232f7eee33f1b2def4c534497a68034acb6361c1 (diff)
parent2482c3cbaa81ca127f6d4ecf61ad1279733a0e5e (diff)
downloadmullvadvpn-d29d5e06e936311d52e593b887b07712fd91d301.tar.xz
mullvadvpn-d29d5e06e936311d52e593b887b07712fd91d301.zip
Merge branch 'add-test-macos-tahoe'
-rw-r--r--.github/workflows/desktop-e2e.yml8
-rw-r--r--test/test-manager/src/vm/provision.rs28
2 files changed, 24 insertions, 12 deletions
diff --git a/.github/workflows/desktop-e2e.yml b/.github/workflows/desktop-e2e.yml
index 3c5cc0d0b3..20176026c8 100644
--- a/.github/workflows/desktop-e2e.yml
+++ b/.github/workflows/desktop-e2e.yml
@@ -17,11 +17,11 @@ on:
Available images:\n
`debian11 debian12 ubuntu2004 ubuntu2204 ubuntu2404 ubuntu2410 ubuntu2504 \
fedora39 fedora40 fedora41 fedora42 windows10 windows11 \
- macos12 macos13 macos14 macos15`.\n
+ macos12 macos13 macos14 macos15 macos26`.\n
Default images:\n
`debian12 ubuntu2004 ubuntu2204 ubuntu2404 ubuntu2410 ubuntu2504 \
fedora39 fedora40 fedora41 fedora42 windows10 windows11 \
- macos13 macos14 macos15`."
+ macos13 macos14 macos15 macos26`."
default: ''
required: false
type: string
@@ -72,8 +72,8 @@ jobs:
- name: Generate matrix for macOS builds
shell: bash
run: |
- all='["macos12","macos13","macos14","macos15"]'
- default='["macos13","macos14","macos15"]'
+ all='["macos12","macos13","macos14","macos15","macos26"]'
+ default='["macos13","macos14","macos15","macos26"]'
oses="${{ github.event.inputs.oses }}"
if [[ -z "$oses" || "$oses" == "null" ]]; then
selected="$default"
diff --git a/test/test-manager/src/vm/provision.rs b/test/test-manager/src/vm/provision.rs
index ef1347ba62..818393cd33 100644
--- a/test/test-manager/src/vm/provision.rs
+++ b/test/test-manager/src/vm/provision.rs
@@ -9,6 +9,8 @@ use std::{
io::{self, Read},
net::{IpAddr, SocketAddr, TcpStream},
path::{Path, PathBuf},
+ time::Duration,
+ time::Instant,
};
use test_rpc::UNPRIVILEGED_USER;
@@ -63,14 +65,24 @@ async fn provision_ssh(
let local_app_manifest = local_app_manifest.to_owned();
let remote_dir = tokio::task::spawn_blocking(move || {
- blocking_ssh(
- user,
- password,
- guest_ip,
- os_type,
- &local_runner_dir,
- local_app_manifest,
- )
+ const SSH_TIMEOUT: Duration = Duration::from_secs(120);
+ let started = Instant::now();
+ loop {
+ let last_result = blocking_ssh(
+ user.clone(),
+ password.clone(),
+ guest_ip,
+ os_type,
+ &local_runner_dir,
+ local_app_manifest.clone(),
+ );
+ if last_result.is_err() && started.elapsed() < SSH_TIMEOUT {
+ log::warn!("Failed to provision over SSH, retrying...");
+ std::thread::sleep(Duration::from_secs(1));
+ continue;
+ }
+ break last_result;
+ }
})
.await
.context("Failed to join SSH task")??;