From 5870d0ce415ef8995a16acba0ec9b72db1be9c46 Mon Sep 17 00:00:00 2001 From: admin_d Date: Fri, 11 Sep 2026 21:40:57 +0500 Subject: [PATCH] ci: sync changed main files to Google Drive --- .gitea/workflows/sync-google-drive.yml | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .gitea/workflows/sync-google-drive.yml diff --git a/.gitea/workflows/sync-google-drive.yml b/.gitea/workflows/sync-google-drive.yml new file mode 100644 index 0000000..886cc46 --- /dev/null +++ b/.gitea/workflows/sync-google-drive.yml @@ -0,0 +1,32 @@ +name: Sync changed files to Google Drive + +on: + push: + branches: [main] + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Upload changed files + env: + BEFORE: ${{ gitea.event.before }} + AFTER: ${{ gitea.event.after }} + RCLONE_CONFIG_GDRIVE: ${{ secrets.RCLONE_CONFIG_GDRIVE }} + run: | + curl -fsSL https://rclone.org/install.sh | sudo bash + config=$(mktemp) + trap 'rm -f "$config"' EXIT + printf '%s' "$RCLONE_CONFIG_GDRIVE" > "$config" + if test "${BEFORE//0/}"; then + git diff --name-only --diff-filter=ACMRT -z "$BEFORE" "$AFTER" + else + git ls-files -z + fi | while IFS= read -r -d '' file; do + case "$file" in build|build/*) continue ;; esac + rclone copyto --config "$config" "$file" "gdrive:$file" + done