From 3dd010bca85f4fd3327c40bfdba2580a944d6684 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Tue, 6 Oct 2026 20:16:39 +0000 Subject: [PATCH] Tracked paths valid on Windows: the colon in a site-ui-3 screenshot name renamed; tools/ci/windows-paths-check.sh in CI actions/checkout on windows-latest failed with "invalid path 'docs/plans/site-ui-3-shots/after/address_igneumdev:qz9h....jpg'" (git exit 128), so every Windows build of the tree died at the checkout. Co-Authored-By: Claude Fable 5.1 --- .github/workflows/ci.yml | 2 ++ ..._igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg} | Bin ...igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg} | Bin ...s_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg} | Bin ..._igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg} | Bin ...umdev-qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg} | Bin ..._igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg} | Bin ...igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg} | Bin ...s_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg} | Bin ..._igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg} | Bin tools/ci/windows-paths-check.sh | 10 ++++++++++ 11 files changed, 12 insertions(+) rename docs/plans/site-ui-3-shots/after/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg} (100%) rename docs/plans/site-ui-3-shots/after/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg} (100%) rename docs/plans/site-ui-3-shots/after/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg} (100%) rename docs/plans/site-ui-3-shots/after/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg} (100%) rename docs/plans/site-ui-3-shots/before-states/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg} (100%) rename docs/plans/site-ui-3-shots/before/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg} (100%) rename docs/plans/site-ui-3-shots/before/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg} (100%) rename docs/plans/site-ui-3-shots/before/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg} (100%) rename docs/plans/site-ui-3-shots/before/{address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg => address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg} (100%) create mode 100755 tools/ci/windows-paths-check.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5745224e..86ba5409 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,6 +67,8 @@ jobs: run: bash tools/ci/identity-check.sh - name: no conflict markers in tracked files run: bash tools/ci/no-conflict-markers.sh + - name: every tracked path is valid on Windows (tools/ci/windows-paths-check.sh) + run: bash tools/ci/windows-paths-check.sh - name: PowerShell drive-reference check (a `$name:` inside a double-quoted string is a 5.1 parse error) run: bash tools/ci/ps-drive-ref-check.sh - name: copied sources are re-stamped before a build diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg rename to docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg rename to docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg rename to docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg diff --git a/docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg b/docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/after/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg rename to docs/plans/site-ui-3-shots/after/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg diff --git a/docs/plans/site-ui-3-shots/before-states/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg b/docs/plans/site-ui-3-shots/before-states/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/before-states/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg rename to docs/plans/site-ui-3-shots/before-states/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark-fail.jpg diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-dark.jpg rename to docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-dark.jpg diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-1440-light.jpg rename to docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-1440-light.jpg diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-dark.jpg rename to docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-dark.jpg diff --git a/docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg b/docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg similarity index 100% rename from docs/plans/site-ui-3-shots/before/address_igneumdev:qz9hw3xy72g4guwfddvpxs-390-light.jpg rename to docs/plans/site-ui-3-shots/before/address_igneumdev-qz9hw3xy72g4guwfddvpxs-390-light.jpg diff --git a/tools/ci/windows-paths-check.sh b/tools/ci/windows-paths-check.sh new file mode 100755 index 00000000..e06c0692 --- /dev/null +++ b/tools/ci/windows-paths-check.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Every tracked path must be one Windows can hold: no : * ? " < > | in a name, no name ending in a dot or a space. +# 6 October 2026: docs/plans/site-ui-3-shots/after/address_igneumdev:qz9h....jpg (a colon from an address in a screenshot +# name) made actions/checkout fail on windows-latest ("invalid path", git exit 128), and every Windows build of the tree +# died at the checkout. Runs in CI (ubuntu, before any Windows job) and locally. Exit 1 with the paths listed. +set -euo pipefail +cd "$(git rev-parse --show-toplevel)" +bad="$(git ls-files -z | tr '\0' '\n' | grep -E '[:*?"<>|]|[. ]$|(^|/)[^/]*[. ]/' || true)" +if [ -n "$bad" ]; then echo "windows-paths: these tracked paths cannot exist on Windows (rename them):"; printf '%s\n' "$bad" | sed 's/^/ /'; exit 1; fi +echo "windows-paths: every tracked path is valid on Windows ($(git ls-files | wc -l | tr -d ' ') files)"