flowey_hvlite/pipelines_shared/
gh_pools.rs

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4//! Centralized list of constants enumerating available GitHub build pools.
5
6use flowey::pipeline::prelude::*;
7
8/// This overrides the default image with a larger disk image for use with
9/// jobs that require more than the default disk space (e.g. to ensure vmm_tests
10/// have enough space to download test VHDs)
11pub fn windows_amd_self_hosted_largedisk() -> GhRunner {
12    GhRunner::SelfHosted(vec![
13        "self-hosted".to_string(),
14        "1ES.Pool=OpenVMM-GitHub-Win-Pool-WestUS3".to_string(),
15        "1ES.ImageOverride=HvLite-CI-Win-Ge-Image-256GB".to_string(),
16    ])
17}
18
19/// This overrides the default image with a larger disk image for use with
20/// jobs that require more than the default disk space (e.g. to ensure vmm_tests
21/// have enough space to download test VHDs)
22pub fn windows_intel_self_hosted_largedisk() -> GhRunner {
23    GhRunner::SelfHosted(vec![
24        "self-hosted".to_string(),
25        "1ES.Pool=OpenVMM-GitHub-Win-Pool-Intel-WestUS3".to_string(),
26        "1ES.ImageOverride=HvLite-CI-Win-Ge-Image-256GB".to_string(),
27    ])
28}
29
30pub fn windows_arm_self_hosted() -> GhRunner {
31    GhRunner::SelfHosted(vec![
32        "self-hosted".to_string(),
33        "1ES.Pool=OpenVMM-GitHub-ARM64-Pool-WestUS2".to_string(),
34        "1ES.ImageOverride=OpenVMM-CI-Windows-ARM64".to_string(),
35    ])
36}
37
38pub fn linux_arm_self_hosted() -> GhRunner {
39    GhRunner::SelfHosted(vec![
40        "self-hosted".to_string(),
41        "1ES.Pool=OpenVMM-GitHub-ARM64-Pool-WestUS2".to_string(),
42        "1ES.ImageOverride=OpenVMM-CI-Ubuntu-ARM64".to_string(),
43    ])
44}
45
46pub fn linux_self_hosted_largedisk() -> GhRunner {
47    GhRunner::SelfHosted(vec![
48        "self-hosted".to_string(),
49        "1ES.Pool=OpenVMM-GitHub-Linux-Pool-WestUS3".to_string(),
50        "1ES.ImageOverride=MMSUbuntu22.04-256GB".to_string(),
51    ])
52}
53
54pub fn gh_hosted_x64_windows() -> GhRunner {
55    GhRunner::GhHosted(GhRunnerOsLabel::WindowsLatest)
56}
57
58pub fn gh_hosted_x64_linux() -> GhRunner {
59    GhRunner::GhHosted(GhRunnerOsLabel::UbuntuLatest)
60}
61
62pub fn gh_hosted_arm_windows() -> GhRunner {
63    GhRunner::GhHosted(GhRunnerOsLabel::Windows11Arm)
64}
65
66pub fn gh_hosted_arm_linux() -> GhRunner {
67    GhRunner::GhHosted(GhRunnerOsLabel::Ubuntu2404Arm)
68}
69
70pub fn windows_arm_self_hosted_baremetal() -> GhRunner {
71    GhRunner::SelfHosted(vec![
72        "self-hosted".to_string(),
73        "Windows".to_string(),
74        "ARM64".to_string(),
75        "Baremetal".to_string(),
76    ])
77}
78
79pub fn windows_tdx_self_hosted_baremetal() -> GhRunner {
80    GhRunner::SelfHosted(vec![
81        "self-hosted".to_string(),
82        "Windows".to_string(),
83        "X64".to_string(),
84        "TDX".to_string(),
85        "Baremetal".to_string(),
86    ])
87}
88
89pub fn windows_snp_self_hosted_baremetal() -> GhRunner {
90    GhRunner::SelfHosted(vec![
91        "self-hosted".to_string(),
92        "Windows".to_string(),
93        "X64".to_string(),
94        "SNP".to_string(),
95        "Baremetal".to_string(),
96    ])
97}