{"id":15090154,"url":"https://github.com/ramonpaolo/action-upload-s3","last_synced_at":"2026-01-05T02:12:11.656Z","repository":{"id":188969059,"uuid":"679665047","full_name":"ramonpaolo/action-upload-s3","owner":"ramonpaolo","description":"Action to upload file or folders to a bucket on S3","archived":false,"fork":false,"pushed_at":"2023-09-10T13:11:48.000Z","size":552,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-19T22:49:47.858Z","etag":null,"topics":["actions","aws","aws-lambda","aws-s3","cd","cicd","good-first-issue","javascript","nodejs","opensource","s3","s3-bucket"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/upload-to-s3","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ramonpaolo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-17T10:47:40.000Z","updated_at":"2023-09-10T13:10:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"a9ef8ba0-6425-4880-917a-026a15642a16","html_url":"https://github.com/ramonpaolo/action-upload-s3","commit_stats":{"total_commits":32,"total_committers":3,"mean_commits":"10.666666666666666","dds":0.0625,"last_synced_commit":"46b315f7412b809fadcd884d194a562b6dfab78f"},"previous_names":["ramonpaolo/action-upload-s3"],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramonpaolo%2Faction-upload-s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramonpaolo%2Faction-upload-s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramonpaolo%2Faction-upload-s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramonpaolo%2Faction-upload-s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ramonpaolo","download_url":"https://codeload.github.com/ramonpaolo/action-upload-s3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244826681,"owners_count":20516803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","aws","aws-lambda","aws-s3","cd","cicd","good-first-issue","javascript","nodejs","opensource","s3","s3-bucket"],"created_at":"2024-09-25T09:22:30.184Z","updated_at":"2026-01-05T02:12:11.625Z","avatar_url":"https://github.com/ramonpaolo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Upload S3\n\nThis action upload file or folder to a bucket on AWS S3.\n\n# IAM\n\nTo create IAM to access this action, we recommended that you create the IAM user with this 3 access:\n\n- s3:PutObject\n- s3:PutObjectTagging\n- s3:PutObjectAcl\n\nReference: [Link](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutObjectCommand/)\n\n## Inputs\n\n### `AWS_BUCKET_NAME`\n\n**Required** The name of the person to greet.\n\n### `AWS_REGION`\n\n**Optional** The region of bucket. Default `\"us-east-1\"`.\n\n### `AWS_SECRET_ACCESS_KEY`\n\n**Required** The secret access key to authenticate on AWS.\n\n### `AWS_ACCESS_KEY_ID`\n\n**Required** The access key id to authenticate on AWS.\n\n### `AWS_SECRET_ACCESS_KEY`\n\n**Required** The secret access key to authenticate on AWS.\n\n### `local_path_upload`\n\n**Required** The local path to get the file or folder.\n\n### `bucket_path_upload`\n\n**Optional** The bucket path to upload the file or folder on AWS S3. Default: `\"/\"`\n\n### `is_directory`\n\n**Optional** Is a folder to upload on s3. Default: `false`\n\n### `zip`\n\n**Optional** Need to be ziped before send to S3. Default: `true`\n\nWhen file or folder is ziped, automatically the key saved in S3, will have `.zip` how the extension.\n\n### `name_to_save_on_s3`\n\n**Required** The name of file or folder to save in S3.\n\n### `acl`\n\n**Optional** The type of ACL to save the object. Default: `\"public-read\"`\n\n### `storage_class`\n\n**Optional** The type of Storage Class to save the object. Default: `\"STANDARD\"`\n\n### `tags`\n\n**Optional** The tags to put on object. Default: `\"Source=github-actions\u0026Environment=production\"`\n\n## Outputs\n\nNothing\n\n## Example usage\n\n### Basic Usage\n\n```yaml\n    - name: Upload File to AWS S3\n      uses: ramonpaolo/action-upload-s3@main\n      with:\n        AWS_BUCKET_NAME: ${{ secrets.AWS_BUCKET_NAME }}\n        AWS_REGION: us-east-1\n        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}\n        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}\n\n        # path of local file to upload\n        local_path_upload: ./main.py\n\n        # path to upload bucket on aws s3\n        bucket_path_upload: /\n        \n        # the name of key/object to store in S3\n        name_to_save_on_s3: \"main.py\"\n```\n\n### Complete Usage\n\n```yaml\n  strategy:\n    matrix:\n      env: [\"staging\", \"production\"]\n\n  env:\n    ENVIRONMENT: ${{ matrix.env }}\n\n  steps:\n    - name: Upload File to AWS S3\n      uses: ramonpaolo/action-upload-s3@main\n      with:\n        AWS_BUCKET_NAME: ${{ secrets.AWS_BUCKET_NAME }}\n        AWS_REGION: us-east-1\n        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}\n        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}\n\n        # path of local file to upload\n        local_path_upload: ./main.py\n\n        # path to upload bucket on aws s3\n        bucket_path_upload: /\n        \n        # is directory to read and upload\n        is_directory: false\n        \n        # want to zip file/folder before send to S3\n        zip: true\n        \n        # the name of key/object to store in S3\n        name_to_save_on_s3: \"main.py\"\n        \n        # the ACL to allow access\n        acl: \"public-read\"\n        \n        # the storage class to save the object\n        storage_class: \"STANDARD\"\n                                                \n        # tags to put on object\n        tags: \"Source=github-actions\u0026Environment=${{ env.ENVIRONMENT }}\"\n```\n\n### How the file will be saved in S3\n\nHere is an example of how the file will be saved in S3(with tags and metadata) with the default YAML described below.\n\n\u003cimg src=\"./image-list-files.png\" alt=\"print how the file will be saved by default\"\u003e\n\u003cimg src=\"./image-attributes.png\" alt=\"print how the tags and metadata will show in AWS S3 console\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framonpaolo%2Faction-upload-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Framonpaolo%2Faction-upload-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framonpaolo%2Faction-upload-s3/lists"}