ci: sync changed main files to Google Drive
Sync changed files to Google Drive / sync (push) Failing after 1m45s
Sync changed files to Google Drive / sync (push) Failing after 1m45s
This commit is contained in:
1 parent
dfcc43c72d
commit
3143d80a5c
2 files changed
+35
-19
No files matched your search
@@ -0,0 +1,35 @@
|
||||
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 }}
|
||||
GDRIVE_FOLDER_ID: ${{ vars.GDRIVE_FOLDER_ID }}
|
||||
GDRIVE_SERVICE_ACCOUNT_JSON: ${{ secrets.GDRIVE_SERVICE_ACCOUNT_JSON }}
|
||||
run: |
|
||||
curl -fsSL https://rclone.org/install.sh | sudo bash
|
||||
key=$(mktemp)
|
||||
config=$(mktemp)
|
||||
trap 'rm -f "$key" "$config"' EXIT
|
||||
printf '%s' "$GDRIVE_SERVICE_ACCOUNT_JSON" > "$key"
|
||||
printf '[gdrive]\ntype = drive\nscope = drive\nroot_folder_id = %s\nservice_account_file = %s\n' "$GDRIVE_FOLDER_ID" "$key" > "$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
|
||||
-19
@@ -1,20 +1 @@
|
||||
# Source-only repository: never commit generated outputs or external assets.
|
||||
/vendor/
|
||||
/private-assets/
|
||||
/build/
|
||||
/dist/
|
||||
/.cache/
|
||||
/reports/
|
||||
/docs/
|
||||
/assets/
|
||||
/data/
|
||||
/config/toolchain.lock.json
|
||||
**/__pycache__/
|
||||
*.md
|
||||
*.txt
|
||||
*.sha256
|
||||
*.apk
|
||||
*.so
|
||||
*.a
|
||||
*.ppu
|
||||
*.o
|
||||
Reference in new issue
Block a user