From d2628ec42e12bd742b5302e1dcfe6b22ab282e31 Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Mon, 11 May 2026 15:44:59 -0500 Subject: [PATCH] Skip El rebuild for migration/script/test-only changes migrations/, scripts/, tests/ changes don't require rebuilding the El binary. Classifying them as asset-only avoids spurious full builds that regenerate dist/*.c and can hit codegen incompatibilities. --- .gitea/workflows/deploy.yaml | 5 +++-- .gitea/workflows/stage.yaml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index ab2137c..9edab78 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -53,8 +53,9 @@ jobs: CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || git diff --name-only HEAD 2>/dev/null || echo "unknown") echo "Changed files:" echo "$CHANGED" - # Asset-only: only src/assets/, src/shares/, src/index.html, src/about.html, src/terms.html, src/enterprise-terms.html, src/llms.txt - NON_ASSET=$(echo "$CHANGED" | grep -v '^src/assets/' | grep -v '^src/shares/' | grep -v '^src/index\.html' | grep -v '^src/about\.html' | grep -v '^src/terms\.html' | grep -v '^src/enterprise-terms\.html' | grep -v '^src/llms\.txt' | grep -v '^$' || true) + # Asset-only: files that don't require rebuilding the El binary. + # migrations/, scripts/, tests/ are data/infra/test changes — no binary rebuild needed. + NON_ASSET=$(echo "$CHANGED" | grep -v '^src/assets/' | grep -v '^src/shares/' | grep -v '^src/index\.html' | grep -v '^src/about\.html' | grep -v '^src/terms\.html' | grep -v '^src/enterprise-terms\.html' | grep -v '^src/llms\.txt' | grep -v '^migrations/' | grep -v '^scripts/' | grep -v '^tests/' | grep -v '^$' || true) if [ -z "$NON_ASSET" ] && [ "$CHANGED" != "unknown" ]; then echo "asset_only=true" >> "$GITHUB_OUTPUT" echo "=> Asset-only change detected, will use fast path" diff --git a/.gitea/workflows/stage.yaml b/.gitea/workflows/stage.yaml index f4ac6d9..f6643c1 100644 --- a/.gitea/workflows/stage.yaml +++ b/.gitea/workflows/stage.yaml @@ -81,7 +81,7 @@ jobs: CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || git diff --name-only HEAD 2>/dev/null || echo "unknown") echo "Changed files:" echo "$CHANGED" - NON_ASSET=$(echo "$CHANGED" | grep -v '^src/assets/' | grep -v '^src/shares/' | grep -v '^src/index\.html' | grep -v '^src/about\.html' | grep -v '^src/terms\.html' | grep -v '^src/enterprise-terms\.html' | grep -v '^src/llms\.txt' | grep -v '^$' || true) + NON_ASSET=$(echo "$CHANGED" | grep -v '^src/assets/' | grep -v '^src/shares/' | grep -v '^src/index\.html' | grep -v '^src/about\.html' | grep -v '^src/terms\.html' | grep -v '^src/enterprise-terms\.html' | grep -v '^src/llms\.txt' | grep -v '^migrations/' | grep -v '^scripts/' | grep -v '^tests/' | grep -v '^$' || true) if [ -z "$NON_ASSET" ] && [ "$CHANGED" != "unknown" ]; then echo "asset_only=true" >> "$GITHUB_OUTPUT" echo "=> Asset-only change detected, will use fast path" -- 2.52.0