{"id":20770491,"url":"https://github.com/ably/sdk-upload-action","last_synced_at":"2026-02-17T16:38:33.054Z","repository":{"id":40261437,"uuid":"349389331","full_name":"ably/sdk-upload-action","owner":"ably","description":"GitHub Action for use in Ably SDK repository workflows, uploading built artifacts to the SDK Team's Amazon S3 bucket (presented at sdk.ably.com).","archived":false,"fork":false,"pushed_at":"2024-12-16T02:10:25.000Z","size":6221,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-11-10T18:05:10.360Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ably.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-19T10:48:15.000Z","updated_at":"2024-12-16T00:15:39.000Z","dependencies_parsed_at":"2024-10-25T05:27:15.523Z","dependency_job_id":"3ba64d83-7a48-4365-a1dc-1ec318f3d743","html_url":"https://github.com/ably/sdk-upload-action","commit_stats":{"total_commits":90,"total_committers":5,"mean_commits":18.0,"dds":"0.47777777777777775","last_synced_commit":"ce894b0b451b8be6593c4d73b488facf4d9c99e9"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/ably/sdk-upload-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably%2Fsdk-upload-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably%2Fsdk-upload-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably%2Fsdk-upload-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably%2Fsdk-upload-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ably","download_url":"https://codeload.github.com/ably/sdk-upload-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably%2Fsdk-upload-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29549799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T14:33:00.708Z","status":"ssl_error","status_checked_at":"2026-02-17T14:32:58.657Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-17T12:09:53.140Z","updated_at":"2026-02-17T16:38:28.042Z","avatar_url":"https://github.com/ably.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ably SDK Team Upload Action\n\nThis action automates the deployment of generated artifacts to our Ably SDK team AWS S3 bucket.\n\n## Usage\n\n### Usage After Artifact Generation\n\nSee [action.yml](action.yml) for explanations of each input.\n\n```yaml\npermissions:\n  deployments: write\n  id-token: write\nsteps:\n  - uses: aws-actions/configure-aws-credentials@v1\n    with:\n      aws-region: eu-west-2\n      role-to-assume: arn:aws:iam::${{ secrets.ABLY_AWS_ACCOUNT_ID_SDK }}:role/ably-sdk-builds-\u003cREPO-NAME\u003e\n      role-session-name: \"${{ github.run_id }}-${{ github.run_number }}\"\n  - uses: ably/sdk-upload-action@v2\n    with:\n      sourcePath: doc/api\n      githubToken: ${{ secrets.GITHUB_TOKEN }}\n      artifactName: dartdoc\n```\n\nIn the above example, `\u003cREPO-NAME\u003e` should be the Ably repository name (e.g. `ably-js`), and `githubToken` uses the `GITHUB_TOKEN` secret which is automatically supplied to GitHub runners so you don't need to do anything to access it.\n\n- Artifacts generated from pull requests will be uploaded to `https://sdk.ably.com/builds/ably/${repository_name}/pull/${pull_number}/${artifactName}`.\n- Artifacts generated from pushes to the main branch will be uploaded to `https://sdk.ably.com/builds/ably/${repository_name}/main/${artifactName}`.\n- Artifacts generated from a pushed tag will be uploaded to `https://sdk.ably.com/builds/ably/${repository_name}/tag/${tag_name}/${artifactName}`.\n\nIf `artifactName` is not specified, or specified as an empty string, then artifacts are pushed to the root of the upload context (i.e. dropping `/${artifactName}` from the URL structures outlined above).\n\n### Usage Before Artifact Generation\n\nThere are times when the URL base on `sdk.ably.com` needs to be known ahead of artifact build.\n\nThis action has an input called `mode` which can be set to `\"preempt\"` in order to obtain this information up front.\n\nIf the preempt mode is requested then nothing will be uploaded to S3, however the action will emit an output called `url-base`,\ncontaining the URL base as a string value. For example:\n\n    https://sdk.ably.com/builds/ably/ably-flutter/pull/307/dartdoc/\n\nWhen used in the Flutter SDK repository, with `artifactName` as `\"dartdoc\"`.\n\n## Permissions\n\n### AWS\n\nThis action expects the calling repository to be configured to use [GitHub OIDC](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) to obtain access to AWS resources within the Ably organization. This requires that the repository has an IAM role configured by Ably's internal Terraform deployment which can be used by [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) to retrieve temporary AWS access, for example:\n\n```yaml\n- uses: aws-actions/configure-aws-credentials@v1\n  with:\n    aws-region: eu-west-2\n    role-to-assume: arn:aws:iam::${{ secrets.ABLY_AWS_ACCOUNT_ID_SDK }}:role/ably-sdk-builds-ably-js\n    role-session-name: \"${{ github.run_id }}-${{ github.run_number }}\"\n```\n\nThe `configure-aws-credentials` action also needs `write` permissions for `id-token` in order to use a GitHub issued ID token to authenticate with AWS:\n\n```yaml\npermissions:\n  id-token: write\n```\n\nIf you are unsure whether the appropriate IAM role has been configured, please speak to the Ably SDK team.\n\nSee also: [Ably Engineering: SDK Team Guidance: `sdk.ably.com`](https://github.com/ably/engineering/blob/main/sdk/sdk.ably.com.md)\n\n### `githubToken`\n\nThe `githubToken` requires `write` access to the `deployments` permissions scope.\nThis means that workflows using this action in a repository that is owned by an org with the default access level for actions set to 'restricted' will need to explicitly specify this requirement in the workflow using [permissions](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#permissions), something like this:\n\n```yml\npermissions:\n  deployments: write\n```\n\nWhen permissions haven't been correctly configured for a job using this action as a step, the error message displayed by GitHub's workflow runner has been observed to present in the log output like this:\n\n```\nError: Resource not accessible by integration\n```\n\nSee also:\n\n- GitHub docs: [Authentication in a workflow: Permissions for the `GITHUB_TOKEN`](https://docs.github.com/en/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)\n- GitHub's Youtube channel: [GitHub Actions: Limit workflow runs \u0026 Control permissions for GITHUB_TOKEN](https://youtu.be/JMHs5lYpvAM?t=483)\n\n## Contributing\n\nFor guidance on how to contribute to this project, see the [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fably%2Fsdk-upload-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fably%2Fsdk-upload-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fably%2Fsdk-upload-action/lists"}