{"id":19065471,"url":"https://github.com/menci/upload-to-oss","last_synced_at":"2025-04-28T11:28:02.237Z","repository":{"id":42521170,"uuid":"444317447","full_name":"Menci/upload-to-oss","owner":"Menci","description":"GitHub Actions to sync files in a directory to Aliyun OSS with a prefix incrementally, with filename filter.","archived":false,"fork":false,"pushed_at":"2022-11-05T18:27:34.000Z","size":46,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-18T15:17:25.614Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Menci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-04T06:56:34.000Z","updated_at":"2024-10-08T10:25:11.000Z","dependencies_parsed_at":"2023-01-04T12:25:34.844Z","dependency_job_id":null,"html_url":"https://github.com/Menci/upload-to-oss","commit_stats":{"total_commits":10,"total_committers":2,"mean_commits":5.0,"dds":0.09999999999999998,"last_synced_commit":"39780266ce82694f29e54ef3753fec7b8e02a5a2"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Menci%2Fupload-to-oss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Menci%2Fupload-to-oss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Menci%2Fupload-to-oss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Menci%2Fupload-to-oss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Menci","download_url":"https://codeload.github.com/Menci/upload-to-oss/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251304018,"owners_count":21567792,"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":[],"created_at":"2024-11-09T00:50:12.338Z","updated_at":"2025-04-28T11:28:02.216Z","avatar_url":"https://github.com/Menci.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Action for upload files to Aliyun OSS\n\nUpload files in a directory to Aliyun OSS with a prefix incrementally, with filename filter.\n\nIncremental upload is implemented by comparing local MD5 and remote `eTag` (`eTag` = MD5 when uploaded with `PutObject`).\n\n# Usage\n\n```yaml\njobs:\n  build-and-deploy:\n    name: Build and Deploy website to OSS\n    runs-on: ubuntu-latest\n    steps:\n      - name: Check out\n        uses: actions/checkout@v2\n      # ... build your static website\n      - uses: Menci/upload-to-oss@beta-v1\n        with:\n          # Use Access Key\n          access-key-id: ${{ secrets.ALIYUN_ACCESS_KEY_ID }}\n          access-key-secret: ${{ secrets.ALIYUN_ACCESS_KEY_SECRET }}\n          # Or use STS Token\n          # security-token: ${{ secrets.ALIYUN_SECURITY_TOKEN }}\n\n          bucket: ${{ secrets.ALIYUN_OSS_BUCKET }}\n          endpoint: ${{ secrets.ALIYUN_OSS_ENDPOINT }}\n\n          # Upload the built website files in \"dist\" directory to remote \"my-website/\" prefix\n          local-path: dist\n          remote-path: my-website\n\n          # Include HTML files only\n          include-regex: \\.html$\n          # Exclude some files\n          excluce-regex: dont-upload-this\\.html$\n\n          # Set some headers (JS function or just in JSON)\n          headers: |\n            filename =\u003e (\n              {\n                \"Cache-Control\": `public, max-age=${filename.endsWith(\".html\") ? 60 : 604800}`\n              }\n            )\n\n          # Upload ALL other files before uploading HTML files\n          delay-html-file-upload: true\n\n          # Prevent deleting missing remote files compared to local (defaults to `false`)\n          no-delete-remote-files: true\n\n          # Retry 5 times on failure of each OSS operation\n          retry: 5\n\n          # Use increment or not\n          increment: true\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmenci%2Fupload-to-oss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmenci%2Fupload-to-oss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmenci%2Fupload-to-oss/lists"}