From 6742d02faa138c921419cf5edce1abea2ec28974 Mon Sep 17 00:00:00 2001 From: Finn Evers Date: Wed, 8 Apr 2026 18:04:22 +0200 Subject: [PATCH] compliance: Use tag instead of branch name by default (#53409) Release Notes: - N/A --- tooling/compliance/src/git.rs | 32 +++------------------------ tooling/xtask/src/tasks/compliance.rs | 22 ++++++------------ 2 files changed, 10 insertions(+), 44 deletions(-) diff --git a/tooling/compliance/src/git.rs b/tooling/compliance/src/git.rs index 1c54656b90c58123d93816dccf4f3d60cc5f93e2..b1b74fcd8f256f51b9743cdc16bf154deeae3f60 100644 --- a/tooling/compliance/src/git.rs +++ b/tooling/compliance/src/git.rs @@ -303,12 +303,12 @@ impl FromStr for VersionTagList { } } -pub struct CommitsFromVersionToHead { +pub struct CommitsFromVersionToVersion { version_tag: VersionTag, branch: String, } -impl CommitsFromVersionToHead { +impl CommitsFromVersionToVersion { pub fn new(version_tag: VersionTag, branch: String) -> Self { Self { version_tag, @@ -317,7 +317,7 @@ impl CommitsFromVersionToHead { } } -impl Subcommand for CommitsFromVersionToHead { +impl Subcommand for CommitsFromVersionToVersion { type ParsedOutput = CommitList; fn args(&self) -> impl IntoIterator { @@ -343,32 +343,6 @@ impl FromStr for NoOutput { } } -pub struct FetchRefs { - branch: String, -} - -impl FetchRefs { - pub fn new(branch: String) -> Self { - Self { branch } - } -} - -impl Subcommand for FetchRefs { - type ParsedOutput = NoOutput; - - fn args(&self) -> impl IntoIterator { - [ - "fetch".to_string(), - "origin".to_string(), - "refs/tags/*:refs/tags/*".to_string(), - format!( - "refs/heads/{}:refs/remotes/origin/{}", - self.branch, self.branch - ), - ] - } -} - #[cfg(test)] mod tests { use super::*; diff --git a/tooling/xtask/src/tasks/compliance.rs b/tooling/xtask/src/tasks/compliance.rs index 47f43cdc63efd43f39d5e069548242c4a6c2f215..43d56361719a3df894d690a05c80578edfaccb41 100644 --- a/tooling/xtask/src/tasks/compliance.rs +++ b/tooling/xtask/src/tasks/compliance.rs @@ -5,7 +5,7 @@ use clap::Parser; use compliance::{ checks::Reporter, - git::{CommitsFromVersionToHead, FetchRefs, GetVersionTags, GitCommand, VersionTag}, + git::{CommitsFromVersionToVersion, GetVersionTags, GitCommand, VersionTag}, github::GitHubClient, report::ReportReviewSummary, }; @@ -28,14 +28,10 @@ impl ComplianceArgs { &self.version_tag } - fn version_branch(&self) -> String { - self.branch.clone().unwrap_or_else(|| { - format!( - "v{major}.{minor}.x", - major = self.version_tag().version().major, - minor = self.version_tag().version().minor - ) - }) + fn version_head(&self) -> String { + self.branch + .clone() + .unwrap_or_else(|| self.version_tag().to_string()) } } @@ -44,10 +40,6 @@ async fn check_compliance_impl(args: ComplianceArgs) -> Result<()> { let key = std::env::var("GITHUB_APP_KEY").context("Missing GITHUB_APP_KEY")?; let tag = args.version_tag(); - let version_branch = args.version_branch(); - - println!("Fetching tags and branch {version_branch}..."); - GitCommand::run(FetchRefs::new(version_branch.clone()))?; let previous_version = GitCommand::run(GetVersionTags)? .sorted() @@ -66,9 +58,9 @@ async fn check_compliance_impl(args: ComplianceArgs) -> Result<()> { previous_version.version() ); - let commits = GitCommand::run(CommitsFromVersionToHead::new( + let commits = GitCommand::run(CommitsFromVersionToVersion::new( previous_version, - version_branch, + args.version_head(), ))?; let Some(range) = commits.range() else {