-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
95 lines (92 loc) · 2.77 KB
/
action.yml
File metadata and controls
95 lines (92 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
name: 'GH OBS Helper'
description: 'High-performance GitHub Action for Huawei Cloud OBS with unlimited file support, wildcard patterns, and parallel uploads'
author: 'Your Name'
branding:
icon: 'upload-cloud'
color: 'blue'
inputs:
access_key:
description: 'Huawei Cloud Access Key ID'
required: true
secret_key:
description: 'Huawei Cloud Secret Access Key'
required: true
region:
description: 'OBS region (e.g., cn-north-4, ap-southeast-1)'
required: true
default: 'cn-north-4'
bucket:
description: 'OBS bucket name'
required: true
operation:
description: 'Operation type: upload, download, sync, create-bucket, delete-bucket'
required: true
default: 'upload'
local_path:
description: 'Local file/directory path(s) - supports wildcards (*, **, ?), multiple patterns separated by commas'
required: false
obs_path:
description: 'OBS object path/prefix (remote path in bucket)'
required: false
include:
description: 'Include patterns (comma-separated)'
required: false
exclude:
description: 'Exclude patterns (comma-separated)'
required: false
preserve_structure:
description: 'Preserve directory structure (true/false)'
required: false
default: 'true'
concurrency:
description: 'Maximum number of parallel uploads/downloads'
required: false
default: '10'
retry_count:
description: 'Number of retries for failed operations'
required: false
default: '3'
dry_run:
description: 'Preview operations without executing (true/false)'
required: false
default: 'false'
progress:
description: 'Show detailed progress logs (true/false)'
required: false
default: 'true'
checksum_validation:
description: 'Validate file checksums after upload (true/false)'
required: false
default: 'false'
storage_class:
description: 'OBS storage class (STANDARD, WARM, COLD)'
required: false
default: 'STANDARD'
public_read:
description: 'Make uploaded objects public readable (true/false)'
required: false
default: 'false'
timeout:
description: 'Request timeout in seconds'
required: false
default: '300'
outputs:
files_processed:
description: 'Number of files processed'
bytes_transferred:
description: 'Total bytes transferred'
operation_time:
description: 'Total operation time in seconds'
success_count:
description: 'Number of successful operations'
error_count:
description: 'Number of failed operations'
file_list:
description: 'List of processed files (JSON array)'
upload_urls:
description: 'List of URLs for uploaded files (JSON array)'
first_upload_url:
description: 'URL of the first uploaded file (for single file uploads)'
runs:
using: 'node20'
main: 'dist/index.js'