From 2a6ef006f4ea35ee0e611aa26640aed8b655022a Mon Sep 17 00:00:00 2001 From: Peter Tripp Date: Mon, 7 Jul 2025 13:56:53 -0400 Subject: [PATCH] Make `script/generate-license` fail on WARN too (#34008) Current main shows this on `script/generate-licenses`: ``` [WARN] failed to validate all files specified in clarification for crate ring 0.17.14: checksum mismatch, expected '76b39f9b371688eac9d8323f96ee80b3aef5ecbc2217f25377bd4e4a615296a9' ``` Ring fixed it's licenses ambiguity upstream. This warning was identifying that their license text (multiple licenses concatenated) had changed (sha mismatch) and thus our license clarification was invalid. Tested the script to confirm this [now fails](https://github.com/zed-industries/zed/actions/runs/16118890720/job/45479355992?pr=34008) under CI and then removed the ring clarification because it is no longer required and now passes. Release Notes: - N/A --- .github/workflows/ci.yml | 2 +- script/generate-licenses | 11 ++++++++++- script/licenses/zed-licenses.toml | 6 ------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39036ef564..84c7a96828 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: else echo "run_docs=false" >> $GITHUB_OUTPUT fi - if [[ $(git diff --name-only $COMPARE_REV ${{ github.sha }} | grep '^Cargo.lock') ]]; then + if [[ $(git diff --name-only $COMPARE_REV ${{ github.sha }} | grep -P '^(Cargo.lock|script/.*licenses)') ]]; then echo "run_license=true" >> $GITHUB_OUTPUT else echo "run_license=false" >> $GITHUB_OUTPUT diff --git a/script/generate-licenses b/script/generate-licenses index 9fcb2bd513..7ae0f1c3f6 100755 --- a/script/generate-licenses +++ b/script/generate-licenses @@ -6,6 +6,15 @@ CARGO_ABOUT_VERSION="0.7" OUTPUT_FILE="${1:-$(pwd)/assets/licenses.md}" TEMPLATE_FILE="script/licenses/template.md.hbs" +fail_on_stderr() { + local tmpfile=$(mktemp) + "$@" 2> >(tee "$tmpfile" >&2) + local rc=$? + [ -s "$tmpfile" ] && rc=1 + rm "$tmpfile" + return $rc +} + echo -n "" >"$OUTPUT_FILE" { @@ -28,7 +37,7 @@ fi echo "Generating cargo licenses" if [ -z "${ALLOW_MISSING_LICENSES-}" ]; then FAIL_FLAG=--fail; else FAIL_FLAG=""; fi set -x -cargo about generate \ +fail_on_stderr cargo about generate \ $FAIL_FLAG \ -c script/licenses/zed-licenses.toml \ "$TEMPLATE_FILE" >>"$OUTPUT_FILE" diff --git a/script/licenses/zed-licenses.toml b/script/licenses/zed-licenses.toml index 4df1f5989a..9d13087ece 100644 --- a/script/licenses/zed-licenses.toml +++ b/script/licenses/zed-licenses.toml @@ -177,9 +177,3 @@ license = "MIT" [[pet-windows-store.clarify.files]] path = '../../LICENSE' checksum = 'c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383' - -[ring.clarify] -license = "ISC AND OpenSSL" -[[ring.clarify.files]] -path = 'LICENSE' -checksum = '76b39f9b371688eac9d8323f96ee80b3aef5ecbc2217f25377bd4e4a615296a9'