fix(ci): correcao definitiva de permissoes Docker
Some checks failed
CI/CD Web + Desktop / Detect changes (push) Successful in 5s
CI/CD Web + Desktop / Deploy (VPS Linux) (push) Failing after 3m19s
CI/CD Web + Desktop / Deploy Convex functions (push) Has been skipped
Quality Checks / Lint, Test and Build (push) Successful in 4m8s

Adiciona step dedicado para corrigir permissoes apos build Docker:
- Usa container Alpine para fazer chown -R 1000:1000 no build
- Tambem corrige permissoes do destino antes do rsync

Isso resolve o erro "Permission denied" do rsync causado por
arquivos criados pelo Docker como root.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
esdrasrenan 2025-12-16 22:49:42 -03:00
parent f0a4b9b782
commit 12a809805e

View file

@ -182,17 +182,22 @@ jobs:
sistema_web:node22-bun \
bash -lc "set -euo pipefail; bun install --frozen-lockfile --filter '!appsdesktop'; bun run prisma:generate; bun run build:bun"
- name: Fix Docker-created file permissions
run: |
# Docker cria arquivos como root - corrigir para o usuario runner (UID 1000)
docker run --rm -v "$EFFECTIVE_APP_DIR":/target alpine:3 \
chown -R 1000:1000 /target
echo "Permissoes do build corrigidas"
- name: Publish build to stable APP_DIR directory
run: |
set -e
DEST="$HOME/apps/sistema"
mkdir -p "$DEST"
mkdir -p "$DEST/.next/static"
# Corrigir permissoes de arquivos criados por containers Docker (root)
# Isso permite que o rsync sobrescreva arquivos anteriores
if [ -d "$DEST/src/generated" ]; then
chmod -R u+rwX "$DEST/src/generated" 2>/dev/null || \
docker run --rm -v "$DEST/src/generated":/target alpine:3 \
# Corrigir permissoes do destino (arquivos de deploys anteriores)
if [ -d "$DEST" ]; then
docker run --rm -v "$DEST":/target alpine:3 \
chown -R 1000:1000 /target 2>/dev/null || true
fi
# rsync com --no-owner --no-group para nao preservar UID do container Docker