diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 74cdc3f53f73f9a56d4cf1a3c77b41d3c3093be5..157ec94fb901e63a2223db5b9d7ca9d3de4280d1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -687,6 +687,7 @@ jobs: name: compliance-report.md path: target/compliance-report.md if-no-files-found: error + overwrite: true - name: send_compliance_slack_notification if: always() run: | diff --git a/tooling/xtask/src/tasks/workflows/release.rs b/tooling/xtask/src/tasks/workflows/release.rs index 99e8463a259df2f40b39072321614881a8f56628..a67bcefa6b9fe83c292339fa2ba9bc972082e266 100644 --- a/tooling/xtask/src/tasks/workflows/release.rs +++ b/tooling/xtask/src/tasks/workflows/release.rs @@ -157,6 +157,7 @@ const NEEDS_REVIEW_PULLS_URL: &str = "https://github.com/zed-industries/zed/pull pub(crate) enum ComplianceContext { Release, + ReleaseNonBlocking, Scheduled { tag_source: StepOutput }, } @@ -165,11 +166,16 @@ pub(crate) fn add_compliance_notification_steps( context: ComplianceContext, compliance_step_id: &str, ) -> gh_workflow::Job { - let upload_step = - upload_artifact(COMPLIANCE_REPORT_FILE).if_condition(Expression::new("always()")); + let upload_step = upload_artifact(COMPLIANCE_REPORT_FILE) + .if_condition(Expression::new("always()")) + .when(matches!(context, ComplianceContext::Release), |step| { + step.add_with(("overwrite", true)) + }); let (success_prefix, failure_prefix) = match context { - ComplianceContext::Release => ("✅ Compliance check passed", "❌ Compliance check failed"), + ComplianceContext::Release | ComplianceContext::ReleaseNonBlocking => { + ("✅ Compliance check passed", "❌ Compliance check failed") + } ComplianceContext::Scheduled { .. } => ( "✅ Scheduled compliance check passed", "⚠️ Scheduled compliance check failed", @@ -202,7 +208,9 @@ pub(crate) fn add_compliance_notification_steps( .add_env(( "COMPLIANCE_TAG", match context { - ComplianceContext::Release => Context::github().ref_name().to_string(), + ComplianceContext::Release | ComplianceContext::ReleaseNonBlocking => { + Context::github().ref_name().to_string() + } ComplianceContext::Scheduled { tag_source } => tag_source.to_string(), }, )) @@ -237,7 +245,7 @@ fn compliance_check() -> NamedJob { named::job(add_compliance_notification_steps( job, - ComplianceContext::Release, + ComplianceContext::ReleaseNonBlocking, "run-compliance-check", )) }