From f47c763b3872a40eb0323f6958a55d235957ffbe Mon Sep 17 00:00:00 2001 From: Lee Rhodes Date: Sun, 4 Oct 2026 17:43:27 -0700 Subject: [PATCH] ci: download TCK snapshots from the serialization_test_data layout The TCK moved its snapshots from serialization//snapshots to serialization_test_data/_generated_files (apache/datasketches-tck#14), the same layout this repository uses. Match the new archive paths, strip one fewer path component, and pin the TCK at e748b0a, its current main. The serde-compat workflow's Java entry passed `java` to the download script, which only accepts cpp and go. The check_java_files profile generates its own snapshots before checking them, so skip the download for that entry instead. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/serde-compat.yml | 2 ++ tools/download_serialization_test_data.sh | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/serde-compat.yml b/.github/workflows/serde-compat.yml index d3d85b369..a15b88526 100644 --- a/.github/workflows/serde-compat.yml +++ b/.github/workflows/serde-compat.yml @@ -30,7 +30,9 @@ jobs: java-version: '25' distribution: 'temurin' + # The Java profile generates its own snapshots before checking them. - name: Download ${{ matrix.name }} snapshots + if: matrix.language != 'java' run: ./tools/download_serialization_test_data.sh ${{ matrix.language }} - name: Run Java tests against ${{ matrix.name }} snapshots diff --git a/tools/download_serialization_test_data.sh b/tools/download_serialization_test_data.sh index 800e6206e..caa8f4239 100755 --- a/tools/download_serialization_test_data.sh +++ b/tools/download_serialization_test_data.sh @@ -20,7 +20,7 @@ set -euo pipefail # Pin the archive so compatibility tests always use an immutable snapshot set. -readonly TCK_REVISION="d363b12d293b395d90abb42677f9ea63178dbc0d" +readonly TCK_REVISION="e748b0a038a17c6d5c771afc4efd9ee35a5a7ec5" readonly TCK_ARCHIVE_URL="https://api.github.com/repos/apache/datasketches-tck/tarball/${TCK_REVISION}" readonly SCRIPT_DIRECTORY="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" readonly REPOSITORY_ROOT="$(cd "${SCRIPT_DIRECTORY}/.." && pwd)" @@ -103,7 +103,7 @@ for language in "${languages[@]}"; do while IFS= read -r member; do case "${member}" in - */serialization/"${language}"/snapshots/*.sk) + */serialization_test_data/"${language}"_generated_files/*.sk) name="${member##*/}" for existing_name in "${names[@]-}"; do if [[ "${name}" == "${existing_name}" ]]; then @@ -126,7 +126,7 @@ for language in "${languages[@]}"; do tar \ -xzf "${archive_path}" \ -C "${staging_directory}" \ - --strip-components=4 \ + --strip-components=3 \ "${members[@]}" for name in "${names[@]}"; do if [[ ! -f "${staging_directory}/${name}" ]]; then