diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 72610e5..dd454fa 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -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 "