fix(ci): remove weekly MSRV release run
Some checks failed
CI / rust-skia (Rust only) (push) Successful in 2m43s
CI / required (push) Failing after 4m12s

This commit is contained in:
2026-08-16 06:19:02 +00:00
parent 969a289efb
commit c5b81afb91
20 changed files with 80 additions and 139 deletions

View File

@@ -205,30 +205,11 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
];
let stages: [(&str, Vec<CommandSpec>); 4] = [
(
"msrv-and-portable-cross-targets",
"portable-cross-targets",
vec![
CommandSpec::new(
"cargo",
&[
"+1.96.0",
"check",
"--locked",
"--all-targets",
"--no-default-features",
"-p",
"libremetaverse-types",
"-p",
"libremetaverse-structured-data",
"-p",
"libremetaverse-imaging",
"-p",
"libremetaverse-prim-mesher",
],
),
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"check",
"--locked",
"--target",
@@ -247,7 +228,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"check",
"--locked",
"--target",
@@ -271,7 +251,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"bench",
"--locked",
"-p",
@@ -284,7 +263,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"bench",
"--locked",
"-p",
@@ -297,7 +275,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"run",
"--locked",
"-p",
@@ -317,7 +294,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"package",
"--locked",
"--no-verify",
@@ -358,7 +334,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"build",
"--locked",
"--release",
@@ -375,7 +350,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"run",
"--locked",
"-p",
@@ -393,7 +367,6 @@ pub fn run_release_gate(root: &Path, evidence_path: &Path) -> Result<()> {
CommandSpec::new(
"cargo",
&[
"+1.97.1",
"run",
"--locked",
"-p",
@@ -1102,9 +1075,15 @@ fn validate_workflows(root: &Path, manifest: &CoverageManifest) -> Result<()> {
"tracked mtimes must be blob-stable across commits, not commit-wide",
));
}
if release.contains("pull_request:") || !release.contains("workflow_dispatch:") {
if release.contains("pull_request:")
|| release.contains("schedule:")
|| !release.contains("workflow_dispatch:")
|| !release.contains("tags:")
|| !release.contains("toolchain: 1.97.1")
|| release.matches("toolchain:").count() != 1
{
return Err(MatrixError::new(
"release workflow must be explicitly non-routine",
"release workflow must be manual or tag-triggered and install only Rust 1.97.1",
));
}
for path in &workflow_paths {

View File

@@ -14,7 +14,6 @@ const REWRITE_PATH: &str = "RUSTREWRITE.md";
#[derive(Debug, Deserialize)]
struct DependencyPolicy {
schema: u32,
msrv: String,
current: String,
reviewed_on: String,
review_by: String,
@@ -56,7 +55,6 @@ struct ObservedGraph {
#[derive(Debug, Serialize)]
struct DependencyEvidence<'a> {
schema: u32,
msrv: &'a str,
current: &'a str,
reviewed_on: &'a str,
review_by: &'a str,
@@ -98,7 +96,6 @@ pub fn audit_dependencies(root: &Path, evidence: &Path) -> Result<()> {
.collect();
let evidence_record = DependencyEvidence {
schema: 1,
msrv: &policy.msrv,
current: &policy.current,
reviewed_on: &policy.reviewed_on,
review_by: &policy.review_by,
@@ -127,9 +124,9 @@ pub fn audit_dependencies(root: &Path, evidence: &Path) -> Result<()> {
}
fn validate_policy(policy: &DependencyPolicy, rewrite: &str) -> Result<()> {
if policy.schema != 1 || policy.msrv != "1.96.0" || policy.current != "stable" {
if policy.schema != 1 || policy.current != "stable" {
return Err(MatrixError::new(
"dependency policy must use schema 1, MSRV 1.96.0, and current stable",
"dependency policy must use schema 1 and current stable Rust",
));
}
if !date_shape(&policy.reviewed_on) || !date_shape(&policy.review_by) {

View File

@@ -29,8 +29,7 @@ pub use release_candidate::audit_release_candidate;
pub const MATRIX_PATH: &str = "ci/release-matrix.json";
const WORKFLOW_PATH: &str = ".gitea/workflows/release.yml";
const REQUIRED_PROFILES: [&str; 7] = [
"linux-msrv-portable",
const REQUIRED_PROFILES: [&str; 6] = [
"linux-stable-default",
"linux-stable-minimal",
"linux-stable-features",
@@ -99,7 +98,6 @@ pub type Result<T> = std::result::Result<T, MatrixError>;
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct ReleaseMatrix {
pub schema: u32,
pub msrv: String,
pub current: String,
pub native_prerequisites: Vec<NativePrerequisite>,
pub manual_gates: Vec<String>,
@@ -194,9 +192,9 @@ pub fn audit_shape(matrix: &ReleaseMatrix) -> Result<()> {
if matrix.schema != 1 {
return Err(MatrixError::new("release matrix schema must be 1"));
}
if matrix.msrv != "1.96.0" || matrix.current != "stable" {
if matrix.current != "stable" {
return Err(MatrixError::new(
"release matrix must cover Rust 1.96.0 and current stable",
"release matrix must use the current stable Rust toolchain",
));
}
@@ -238,11 +236,10 @@ pub fn audit_shape(matrix: &ReleaseMatrix) -> Result<()> {
let (platforms, toolchains, feature_sets) = audit_profiles(matrix, &prerequisite_ids)?;
audit_release_surface(matrix)?;
if platforms != BTreeSet::from(["linux", "macos", "windows"])
|| !toolchains.contains("stable")
|| !toolchains.contains("1.96.0")
|| toolchains != BTreeSet::from(["stable"])
{
return Err(MatrixError::new(
"matrix must cover Linux, macOS, Windows, MSRV, and stable",
"matrix must cover Linux, macOS, and Windows with stable Rust",
));
}
for required in REQUIRED_FEATURE_SETS {

View File

@@ -33,7 +33,7 @@ fn execute() -> Result<(), Box<dyn std::error::Error>> {
Some("audit") if arguments.next().is_none() => {
audit(&root, &matrix)?;
println!(
"release CI matrix: {} validated profiles; Linux, Windows, macOS, MSRV, stable, default/minimal/optional features, tests, examples, and docs covered",
"release CI matrix: {} validated profiles; Linux, Windows, macOS, stable, default/minimal/optional features, tests, examples, and docs covered",
matrix.profiles.len()
);
}