From 5a0e4344ad502b38eed93252216cfa4ae789c35f Mon Sep 17 00:00:00 2001 From: Russell Cohen Date: Wed, 13 Dec 2023 15:25:17 -0500 Subject: [PATCH] Allow downgrading smithy-rs versions (#3316) ## Motivation and Context ## Description ## Testing ## Checklist - [ ] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates - [ ] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._ --- .../src/subcommand/upgrade_runtime_crates_version.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/ci-build/publisher/src/subcommand/upgrade_runtime_crates_version.rs b/tools/ci-build/publisher/src/subcommand/upgrade_runtime_crates_version.rs index f9df685bf..439dc52bf 100644 --- a/tools/ci-build/publisher/src/subcommand/upgrade_runtime_crates_version.rs +++ b/tools/ci-build/publisher/src/subcommand/upgrade_runtime_crates_version.rs @@ -4,13 +4,14 @@ */ use crate::fs::Fs; -use anyhow::{anyhow, bail, Context}; +use anyhow::{anyhow, Context}; use clap::Parser; use once_cell::sync::Lazy; use regex::Regex; use smithy_rs_tool_common::package::PackageStability; use std::borrow::Cow; use std::path::{Path, PathBuf}; +use tracing::warn; static STABLE_VERSION_REGEX: Lazy = Lazy::new(|| { Regex::new( @@ -104,7 +105,8 @@ fn update_gradle_properties<'a>( // Special version tag used on the `main` branch && current_version != semver::Version::parse("0.0.0-smithy-rs-head").unwrap() { - bail!("Moving from {current_version} to {upgraded_version} would be a *downgrade*. This command doesn't allow it!"); + // NOTE: do not backport this change to mainline during merge. + warn!("Moving from {current_version} to {upgraded_version} is a *downgrade*."); } Ok(version_regex.replace(gradle_properties, format!("${{field}}{}", upgraded_version))) } @@ -187,7 +189,9 @@ mod tests { assert_eq!("smithy.rs.runtime.crate.stable.version=1.0.3", updated); } + // ignored: we are temporarily removing this safeguard #[test] + #[ignore] fn downgrading_stable_crate_should_be_caught_as_err() { let gradle_properties = "smithy.rs.runtime.crate.stable.version=1.0.2"; let version = semver::Version::new(1, 0, 1); @@ -197,7 +201,9 @@ mod tests { assert!(format!("{:?}", result).contains("downgrade")); } + // ignored: we are temporarily removing this safeguard #[test] + #[ignore] fn downgrading_unstable_crate_should_be_caught_as_err() { let gradle_properties = "smithy.rs.runtime.crate.unstable.version=0.57.1"; let version = semver::Version::new(0, 57, 0); -- GitLab