You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| `sync-strategy` (optional) | A newline-separated list of criteria to define the sync strategy. Criteria values: `ETag`, `ContentType`, `CacheControl`, `LastModified`, `ContentLength`.<br/>**PLEASE NOTE** `ETag` cannot be used if your bucket is encrypted | `ETag`<br/>`Content-Type`<br/>`Cache-Control` |
90
+
| `strip-extension-glob` (optional) | Glob pattern to strip extension (if using the sync action) | `**/**.html` |
91
+
| `acl` (optional) | Access control list (options: `authenticated-read, aws-exec-read, bucket-owner-full-control, bucket-owner-read, private, public-read, public-read-write`) | `private` |
92
+
| `multipart-file-size-mb` (optional) | The minimum file size, in megabytes, for which to upload files using multipart. The default is `100` | `100` |
93
+
| `multipart-chunk-bytes` (optional) | The chunk size, in bytes, to upload multipart file parts in. The default is `10485760` (10MB) | `10485760` |
94
+
| `concurrency` (optional) | How many processes to perform at once. The default is `6` | `6` |
The `aws cli` syncs files based on file modified times or file size. This approach is not ideal when syncing in CI or when build hashes might change but file size is unchanged.
106
-
107
-
This Action compares the md5 hash against the uploaded file, and if there's a match it will not sync the file.
108
-
109
-
## Debugging
110
-
111
-
Check the Action output for logs.
112
-
113
-
If you need to see more verbose logs you can set `ACTIONS_STEP_DEBUG` to `true` as an Action Secret.
116
+
The [`aws s3 sync`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/sync.html) cli command syncs files based on modified times or file size, but this approach is not appropriate in situations where build hashes might change but file size is unchanged. This action provides a flexible and configuration sync strategy, as well as additional features like stripping file extensions and cleaning a bucket path.
Copy file name to clipboardExpand all lines: action.yml
+10-1Lines changed: 10 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -26,14 +26,23 @@ inputs:
26
26
require: false
27
27
default: ''
28
28
description: "The prefix for the uploaded object. For example: 'custom/folder'"
29
+
sync-strategy:
30
+
required: false
31
+
default: |
32
+
ETag
33
+
ContentType
34
+
CacheControl
35
+
LastModified
36
+
ContentLength
37
+
description: 'A newline-separated list of criteria to define the sync strategy. Criteria include: ETag, ContentType, CacheControl, LastModified, ContentLength'
29
38
strip-extension-glob:
30
39
require: false
31
40
default: ''
32
41
description: "Glob pattern to strip extension (f using the sync action). For example: '**/**.html'"
33
42
cache-control:
34
43
require: false
35
44
default: ''
36
-
description: 'Cache-control headers. For example: public,max-age=31536000,immutable'
45
+
description: 'Cache-control header. For example: public,max-age=31536000,immutable'
0 commit comments