From 177ee6009a00f79c3ae4d4e32a5e1b4c03c18898 Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Sat, 12 Jul 2025 13:29:01 +0200 Subject: [PATCH] delete core stuff --- src/build.rs | 4 ++-- src/db.rs | 5 +---- src/web.rs | 44 ++++++++++-------------------------------- templates/nightly.html | 37 ++++++----------------------------- templates/target.html | 26 +++++++++---------------- 5 files changed, 28 insertions(+), 88 deletions(-) diff --git a/src/build.rs b/src/build.rs index 3838a86..6bded12 100644 --- a/src/build.rs +++ b/src/build.rs @@ -322,7 +322,7 @@ async fn build_target(tmpdir: &Path, toolchain: &Toolchain, target: &str) -> Res .wrap_err("spawning cargo build") } - let mut output = run(&toolchain, target, &mut rustflags, tmpdir, "-Zbuild-std").await?; + let mut output = run(toolchain, target, &mut rustflags, tmpdir, "-Zbuild-std").await?; let mut stderr = String::from_utf8(output.stderr).wrap_err("cargo stderr utf8")?; let status = if output.status.success() { @@ -331,7 +331,7 @@ async fn build_target(tmpdir: &Path, toolchain: &Toolchain, target: &str) -> Res } else if stderr.contains("building std is not supported") { info!("Retrying build because std is not supported"); output = run( - &toolchain, + toolchain, target, &mut rustflags, tmpdir, diff --git a/src/db.rs b/src/db.rs index 71f34fe..7083dd0 100644 --- a/src/db.rs +++ b/src/db.rs @@ -17,16 +17,13 @@ pub static MIGRATOR: Migrator = sqlx::migrate!(); #[derive(Debug, Clone, Copy, sqlx::Type, Serialize, PartialEq, Eq, Hash)] #[sqlx(rename_all = "kebab-case")] pub enum BuildMode { - /// `build -Zbuild-std=core` - Core, - /// `check -Zbuild-std` + /// `build --release -Zbuild-std` Std, } impl Display for BuildMode { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - Self::Core => f.write_str("core"), Self::Std => f.write_str("std"), } } diff --git a/src/web.rs b/src/web.rs index 9d2c2d2..b6528ce 100644 --- a/src/web.rs +++ b/src/web.rs @@ -44,14 +44,14 @@ impl<'de> serde::Deserialize<'de> for LegacyBuildMode { { let s = String::deserialize(deserializer)?; match s.as_str() { - "core" => Ok(LegacyBuildMode(BuildMode::Core)), + "core" => Ok(LegacyBuildMode(BuildMode::Std)), "std" => Ok(LegacyBuildMode(BuildMode::Std)), // This mode used to be called "miri-std" but it has been renamed to "std" using build-std. // Allow the old value to keep links working but map it to std. "miri-std" => Ok(LegacyBuildMode(BuildMode::Std)), - _ => Err(serde::de::Error::custom(format!( - "invalid build mode, expected 'core', 'std', or 'miri-std'" - ))), + _ => Err(serde::de::Error::custom( + "invalid build mode, expected 'core', 'std', or 'miri-std'".to_owned(), + )), } } } @@ -85,7 +85,7 @@ async fn web_build(State(state): State, Query(query): Query, Query(query): Query { - let latest_core = builds + let latest_std = builds .iter() - .filter(|build| build.mode == BuildMode::Core) - .max_by_key(|elem| elem.nightly.clone()); - let latest_miri = builds - .iter() - .filter(|build| build.mode == BuildMode::Core) + .filter(|build| build.mode == BuildMode::Std) .max_by_key(|elem| elem.nightly.clone()); - let status = match (latest_core, latest_miri) { - (Some(core), Some(std)) => { - if core.status == Status::Error || std.status == Status::Error { - Status::Error - } else { - Status::Pass - } - .to_string() - } - (Some(one), None) | (None, Some(one)) => one.status.to_string(), - (None, None) => "missing".to_owned(), + let status = match latest_std { + Some(one) => one.status.to_string(), + None => "missing".to_owned(), }; let mut builds_grouped = @@ -171,7 +159,6 @@ async fn web_target(State(state): State, Query(query): Query v.0 = Some(build), BuildMode::Std => v.1 = Some(build), } } @@ -217,9 +204,7 @@ async fn web_nightly(State(state): State, Query(query): Query, Option)>, - core_failures: usize, std_failures: usize, - core_broken: Option, std_broken: Option, showing_failures: bool, } @@ -234,17 +219,14 @@ async fn web_nightly(State(state): State, Query(query): Query v.0 = Some(build.clone()), BuildMode::Std => v.1 = Some(build.clone()), } } let mut std_failures = 0; - let mut core_failures = 0; for build in builds { if build.status == Status::Error { match build.mode { - BuildMode::Core => core_failures += 1, BuildMode::Std => std_failures += 1, } } @@ -260,10 +242,6 @@ async fn web_nightly(State(state): State, Query(query): Query>(); builds.sort_by_cached_key(|build| build.0.clone()); - let core_broken = info - .iter() - .find(|info| info.mode == BuildMode::Core && info.is_broken) - .and_then(|info| info.broken_error.clone()); let std_broken = info .iter() .find(|info| info.mode == BuildMode::Std && info.is_broken) @@ -274,8 +252,6 @@ async fn web_nightly(State(state): State, Query(query): QueryNightly build state for {{nightly}} Home

- This contains the status of this nightly. Core is built with - cargo build --release -Zbuild-std=core. This checks that - codegen/linking of core works, but does not check whether std builds. -

-

- std is being built with cargo check -Zbuild-std. If a target - does not support std, the std column represents core/alloc. This checks - that std checks (on targets that have it) but does not check whether - codegen/linking works. + The build is performned with cargo build --release -Zbuild-std for a library crate. - For older builds, cargo miri setup was used instead. -

- {% if let Some(core_broken) = core_broken %} -

- ⚠️ The core build is broken in general for this nightly, so no data is available ⚠️ + This checks whether everything builds successfully (excluding binary linking, which often requires complex toolchains). + For no-std targets, Cargo's build-std logic is used for figuring out whether to build std or not. + On older targets (older than November 2024) this does not always work reliably, so some failed std builds there are simply no-std targets.

-
-      {{core_broken}}
-    
- {% endif %} {% if let Some(std_broken) = std_broken %}

⚠️ The std build is broken for this nightly, so no data is available ⚠️ @@ -43,8 +29,6 @@

-
core failures
-
{{core_failures}}
std failures
{{std_failures}}
@@ -61,21 +45,12 @@ - - + {% for build in builds %} - {% match build.1 %} {% when Some with (build) %} - - {% when None %} - - {% endmatch %} {% match build.2 %} {% when Some with (build) %} + {% match build.2 %} {% when Some with (build) %}
nightlycore
codegen
std
check
std
build
{{ build.0 }} - - {{ build.status.to_emoji() }} - - {{ build.status.to_emoji() }} diff --git a/templates/target.html b/templates/target.html index 07b7a43..a39765c 100644 --- a/templates/target.html +++ b/templates/target.html @@ -23,12 +23,13 @@ codegen/linking of core works, but does not check whether std builds.

- std is being built with cargo check -Zbuild-std. If a target - does not support std, the std column represents core/alloc. This checks - that std checks (on targets that have it) but does not check whether - codegen/linking works. - - For older builds, cargo miri setup was used instead. + The build is performned with + cargo build --release -Zbuild-std for a library crate. This + checks whether everything builds successfully (excluding binary linking, + which often requires complex toolchains). For no-std targets, Cargo's + build-std logic is used for figuring out whether to build std or not. On + older targets (older than November 2024) this does not always work + reliably, so some failed std builds there are simply no-std targets.

{% if showing_failures %}

@@ -42,21 +43,12 @@ - - + {% for build in builds %} - {% match build.1 %} {% when Some with (build) %} - - {% when None %} - - {% endmatch %} {% match build.2 %} {% when Some with (build) %} + {% match build.2 %} {% when Some with (build) %}
nightlycore
codegen
std
check
std
build
{{ build.0 }} - - {{ build.status.to_emoji() }} - - {{ build.status.to_emoji() }}