CI: use git archive for sibling models (atomic, race-safe)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
The cp approach failed when sibling repos were mid-update from their own CI runs. git archive reads directly from git objects, and git fetch ensures origin/decoupling is available even if the sibling working tree is on a different branch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -39,13 +39,14 @@ jobs:
|
||||
git fetch origin ${{ github.ref_name }}
|
||||
git reset --hard origin/${{ github.ref_name }}
|
||||
git submodule update --init --recursive
|
||||
# Copy sibling app models for cross-domain imports
|
||||
# Copy sibling app models for cross-domain imports (read from git objects to avoid race conditions)
|
||||
for sibling in blog market cart events; do
|
||||
rm -rf \$sibling/__init__.py \$sibling/models
|
||||
if [ -d /root/rose-ash/\$sibling/models ]; then
|
||||
repo=/root/rose-ash/\$sibling
|
||||
if [ -d \$repo/.git ]; then
|
||||
git -C \$repo fetch origin ${{ github.ref_name }} 2>/dev/null || true
|
||||
mkdir -p \$sibling
|
||||
cp /root/rose-ash/\$sibling/__init__.py \$sibling/ 2>/dev/null || touch \$sibling/__init__.py
|
||||
cp -r /root/rose-ash/\$sibling/models \$sibling/models
|
||||
git -C \$repo archive origin/${{ github.ref_name }} -- __init__.py models/ 2>/dev/null | tar -x -C \$sibling/ || true
|
||||
fi
|
||||
done
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user