Browse Source

docs:upload --rclone

Simon Legner 2 months ago
parent
commit
d342a44754
1 changed files with 11 additions and 0 deletions
  1. 11 0
      lib/tasks/docs.thor

+ 11 - 0
lib/tasks/docs.thor

@@ -161,6 +161,7 @@ class DocsCLI < Thor
   desc 'upload', '[private]'
   option :dryrun, type: :boolean
   option :packaged, type: :boolean
+  option :rclone, type: :boolean
   def upload(*names)
     if options[:packaged]
       slugs = Dir[File.join(Docs.store_path, '*.tar.gz')].map { |f| File.basename(f, '.tar.gz') }
@@ -190,6 +191,11 @@ class DocsCLI < Thor
       puts "[S3] Syncing #{doc.path}..."
       cmd = "aws s3 sync #{File.join(Docs.store_path, doc.path)} s3://devdocs-documents/#{doc.path} --delete --profile devdocs"
       cmd << ' --dryrun' if options[:dryrun]
+      if options[:packaged]
+        puts "[S3] Syncing #{doc.path} using rclone..."
+        cmd = "rclone sync #{File.join(Docs.store_path, doc.path)} devdocs:devdocs-documents/#{doc.path} --delete-after --progress"
+        cmd << ' --dry-run' if options[:dryrun]
+      end
       system(cmd)
     end
     puts '[S3] Done syncing.'
@@ -202,6 +208,11 @@ class DocsCLI < Thor
       puts "[S3 bundle] Uploading #{filename}..."
       cmd = "aws s3 cp #{File.join(Docs.store_path, filename)} s3://devdocs-downloads/#{filename} --profile devdocs"
       cmd << ' --dryrun' if options[:dryrun]
+      if options[:packaged]
+        puts "[S3 bundle] Uploading #{filename} using rclone..."
+        cmd = "rclone copy #{File.join(Docs.store_path, filename)} devdocs:devdocs-downloads/"
+        cmd << ' --dry-run' if options[:dryrun]
+      end
       system(cmd)
     end
     puts '[S3 bundle] Done uploading.'