name: Organizar imagens do Hub on: push: branches: [ "v4" ] # se estiver usando outra branch, coloca aqui também (ex: "main") jobs: move-images: if: github.actor != 'github-actions[bot]' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Detectar e mover imagens run: | set -e BEFORE_SHA="${{ github.event.before }}" AFTER_SHA="${{ github.sha }}" # Se for primeiro commit da branch, não existe "before" if [ "$BEFORE_SHA" = "0000000000000000000000000000000000000000" ]; then echo "Primeiro push da branch, pegando todos os arquivos trackeados." CHANGED_FILES=$(git ls-files) else echo "Diff entre $BEFORE_SHA e $AFTER_SHA" CHANGED_FILES=$(git diff --name-status "$BEFORE_SHA" "$AFTER_SHA" | awk '$1=="A" || $1=="M"{print $2}') fi echo "Arquivos alterados:" echo "$CHANGED_FILES" IMAGES=$(echo "$CHANGED_FILES" | grep -Ei '^content/(?!imagens/).*\.(png|jpe?g|gif|svg)$' || true) if [ -z "$IMAGES" ]; then echo "Nenhuma imagem fora de content/imagens para mover." exit 0 fi for FILE in $IMAGES; do REL_PATH=${FILE#content/} DEST_DIR="content/imagens/${REL_PATH%/*}" BASENAME=$(basename "$FILE") echo "Movendo $FILE -> $DEST_DIR/$BASENAME" mkdir -p "$DEST_DIR" git mv "$FILE" "$DEST_DIR/$BASENAME" done - name: Commit e push se houve mudança run: | if git diff --cached --quiet; then echo "Nenhuma alteração para commitar." exit 0 fi git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git commit -m "chore: mover imagens para content/imagens" git push