Follow up for: #41304 Splits CI tests (cherry-picks and PRs only for now) into separate workflows using `gh-workflow`. Includes a couple restructures to - run more things in parallel - remove our previous shell script based checking to filter tests based on files changed, instead using the builtin `paths:` workflow filters Splitting the docs/style/rust tests & checks into separate workflows means we lose the complete summary showing all the tests in one view, but it's possible to re-add in the future if we go back to checking what files changed ourselves or always run everything. Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Conrad <conrad@zed.dev>
69 lines
1.9 KiB
Rust
69 lines
1.9 KiB
Rust
pub const LINUX_SMALL: Runner = Runner("namespace-profile-2x4-ubuntu-2404");
|
|
pub const LINUX_DEFAULT: Runner = LINUX_XL;
|
|
pub const LINUX_XL: Runner = Runner("namespace-profile-16x32-ubuntu-2204");
|
|
pub const LINUX_LARGE: Runner = Runner("namespace-profile-8x16-ubuntu-2204");
|
|
pub const LINUX_MEDIUM: Runner = Runner("namespace-profile-4x8-ubuntu-2204");
|
|
|
|
// Using Ubuntu 20.04 for minimal glibc version
|
|
pub const LINUX_X86_BUNDLER: Runner = Runner("namespace-profile-32x64-ubuntu-2004");
|
|
pub const LINUX_ARM_BUNDLER: Runner = Runner("namespace-profile-8x32-ubuntu-2004-arm-m4");
|
|
|
|
pub const MAC_DEFAULT: Runner = Runner("self-mini-macos");
|
|
pub const WINDOWS_DEFAULT: Runner = Runner("self-32vcpu-windows-2022");
|
|
|
|
pub struct Runner(&'static str);
|
|
|
|
impl Into<gh_workflow::RunsOn> for Runner {
|
|
fn into(self) -> gh_workflow::RunsOn {
|
|
self.0.into()
|
|
}
|
|
}
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
pub enum Arch {
|
|
X86_64,
|
|
ARM64,
|
|
}
|
|
|
|
impl std::fmt::Display for Arch {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
match self {
|
|
Arch::X86_64 => write!(f, "x86_64"),
|
|
Arch::ARM64 => write!(f, "aarch64"),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Arch {
|
|
pub fn triple(&self) -> &'static str {
|
|
match self {
|
|
Arch::X86_64 => "x86_64-unknown-linux-gnu",
|
|
Arch::ARM64 => "aarch64-unknown-linux-gnu",
|
|
}
|
|
}
|
|
|
|
pub fn linux_bundler(&self) -> Runner {
|
|
match self {
|
|
Arch::X86_64 => LINUX_X86_BUNDLER,
|
|
Arch::ARM64 => LINUX_ARM_BUNDLER,
|
|
}
|
|
}
|
|
}
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
pub enum Platform {
|
|
Windows,
|
|
Linux,
|
|
Mac,
|
|
}
|
|
|
|
impl std::fmt::Display for Platform {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
match self {
|
|
Platform::Windows => write!(f, "windows"),
|
|
Platform::Linux => write!(f, "linux"),
|
|
Platform::Mac => write!(f, "mac"),
|
|
}
|
|
}
|
|
}
|