From e3f3fc72fe4a6f19d2e6a04d76e6fe51900c26ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Montiel=20Cardona?= Date: Sat, 11 Jul 2026 02:51:57 -0600 Subject: [PATCH] ci(publish): stamp a rolling BUSL Change Date (release + 4 years) Each published version now gets its Change Date set to the release date plus four years at pack time, so every release carries its own full 4-year BUSL window before converting to MIT. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/publish.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fc0384f..dbe7875 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -73,6 +73,22 @@ jobs: --no-build --logger "console;verbosity=normal" + # ── Rolling BUSL Change Date: stamp each packed license file with + # (release date + 4 years) so every published version gets a full + # 4-year BUSL window before it converts to the Change License (MIT). ── + - name: Stamp BUSL Change Date (release + 4 years) + run: | + CHANGE_DATE=$(date -u -d "+4 years" +%Y-%m-%d) + stamped=0 + for f in LICENSE-BUSL.txt LICENSE; do + if [ -f "$f" ] && grep -qE '^Change Date:' "$f"; then + sed -i -E "s|^(Change Date: +).*|\1$CHANGE_DATE|" "$f" + echo "$f -> Change Date $CHANGE_DATE" + stamped=1 + fi + done + [ "$stamped" = 1 ] || { echo "::error::no BUSL license file with a Change Date found"; exit 1; } + # ── Pack ───────────────────────────────────────────────────────────────── - name: Pack Avr8Sharp run: >