* Skip redundant CI rebuilds for soulamz and OCR/WARP tooling. Refresh soulamz.inputs so prebuilts match current inputs, track OCR/WARP dex in git with tooling.inputs, build soulamz ABIs in parallel, and drop Actions tooling cache in favor of checkout prebuilts. Co-authored-by: Cursor <cursoragent@cursor.com> * Make soulamz and tooling input stamps path-independent. sha256sum was hashing absolute file paths, so CI and local machines computed different values and always rebuilt prebuilts. Co-authored-by: Cursor <cursoragent@cursor.com> * Store OCR/WARP dex prebuilts under prebuilts/ for reliable CI checkout. Gitignored tools/ and bundled-ocr/ paths were not always restored on CI runners. Relocate dex artifacts to a normal tracked directory and keep using path-independent input stamps. Co-authored-by: Cursor <cursoragent@cursor.com> * Use .dat extension for tracked OCR/WARP prebuilts. Global *.dex gitignore was preventing reliable checkout on CI runners; store dex bytes as .dat files instead. Co-authored-by: Cursor <cursoragent@cursor.com> * Log why OCR/WARP tooling prebuilts are rebuilt on CI. Co-authored-by: Cursor <cursoragent@cursor.com> * Hash prebuilt inputs from file contents only. Filename-bearing sha256sum output still diverged between CI and local machines for tooling sources; aggregate raw bytes instead. Co-authored-by: Cursor <cursoragent@cursor.com> * Debug tooling stamp at start of build step Co-authored-by: Cursor <cursoragent@cursor.com> * Hash prebuilt inputs with git hash-object for CI parity. Working-tree byte hashes differed on GitHub runners; git blob hashes match the committed tree on every checkout. Co-authored-by: Cursor <cursoragent@cursor.com> * Hash prebuilt inputs from git tree blob ids. Use ls-tree blob hashes so checkout line-ending filters cannot skew the stamp on CI runners. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
34 lines
852 B
Bash
Executable file
34 lines
852 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# Hash OCR/WARP tooling inputs; skip rebuild when scripts and sources are unchanged.
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
INPUTS_FILE="${ROOT_DIR}/prebuilts/tooling.inputs"
|
|
|
|
tooling_stamp_hash() {
|
|
(
|
|
cd "${ROOT_DIR}"
|
|
{
|
|
git ls-tree HEAD \
|
|
scripts/prepare-bundled-ocr.sh \
|
|
scripts/compile-ocr-runtime.sh \
|
|
scripts/compile-warp-runtime.sh
|
|
git ls-tree -r HEAD sources/ocr-runtime sources/warp-runtime sources/warp-runtime-stubs
|
|
} | awk '{print $3}' | sha256sum | awk '{print $1}'
|
|
)
|
|
}
|
|
|
|
case "${1:-hash}" in
|
|
hash)
|
|
tooling_stamp_hash
|
|
;;
|
|
write)
|
|
mkdir -p "$(dirname "${INPUTS_FILE}")"
|
|
tooling_stamp_hash > "${INPUTS_FILE}"
|
|
echo "Wrote ${INPUTS_FILE}"
|
|
;;
|
|
*)
|
|
echo "usage: $0 [hash|write]" >&2
|
|
exit 1
|
|
;;
|
|
esac
|