Skip to content

Add custom request headers and resumable concurrent downloads #2447

Add custom request headers and resumable concurrent downloads

Add custom request headers and resumable concurrent downloads #2447

Workflow file for this run

name: CodeCov
on:
push:
branches:
- main
pull_request:
schedule:
- cron: 0 0 * * *
jobs:
Unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Node.js environment
uses: actions/setup-node@v7
with:
node-version: '22'
- name: Install SDK
run: npm install
- name: Generate Unit Test Coverage
run: npm run coverage:unit
- name: Upload coverage artifact
uses: actions/upload-artifact@v7
with:
name: unit-coverage
path: coverage/lcov.info
CoverageUpload:
needs: Unit
# Fork PRs cannot assume the AWS OIDC role used to fetch the Codecov token.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v7
- name: Download coverage artifact
uses: actions/download-artifact@v8
with:
name: unit-coverage
path: coverage
- name: Configure AWS credentials (OIDC)
uses: aws-actions/configure-aws-credentials@v6
with:
role-to-assume: arn:aws:iam::082972943155:role/oidc-github-dropbox-dropbox-sdk-js-repo
aws-region: us-west-2
- name: Get Codecov token from AWS Secrets Manager
uses: aws-actions/aws-secretsmanager-get-secrets@v3
with:
secret-ids: |
CODECOV_TOKEN,codecov-token-dropbox-sdk-js
parse-json-secrets: false
- name: Publish Coverage
uses: codecov/codecov-action@v7
with:
token: ${{ env.CODECOV_TOKEN }}
flags: unit
fail_ci_if_error: true
Integration:
# Fork PRs cannot assume the AWS OIDC role used to fetch credentials.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v7
- name: Setup Node.js environment
uses: actions/setup-node@v7
with:
node-version: '22'
- name: Install SDK
run: npm install
- name: Configure AWS credentials (OIDC)
uses: aws-actions/configure-aws-credentials@v6
with:
role-to-assume: arn:aws:iam::082972943155:role/oidc-github-dropbox-dropbox-sdk-js-repo
aws-region: us-west-2
- name: Get integration credentials from AWS Secrets Manager
uses: aws-actions/aws-secretsmanager-get-secrets@v3
with:
secret-ids: |
CREDS,api-sdk-integration-test-creds
parse-json-secrets: true
- name: Get Codecov token from AWS Secrets Manager
uses: aws-actions/aws-secretsmanager-get-secrets@v3
with:
secret-ids: |
CODECOV_TOKEN,codecov-token-dropbox-sdk-js
parse-json-secrets: false
- name: Generate Integration Test Coverage
env:
SCOPED_USER_CLIENT_ID: ${{ env.CREDS_SCOPED_USER_CLIENT_ID }}
SCOPED_USER_CLIENT_SECRET: ${{ env.CREDS_SCOPED_USER_CLIENT_SECRET }}
SCOPED_USER_REFRESH_TOKEN: ${{ env.CREDS_SCOPED_USER_REFRESH_TOKEN }}
SCOPED_TEAM_CLIENT_ID: ${{ env.CREDS_SCOPED_TEAM_CLIENT_ID }}
SCOPED_TEAM_CLIENT_SECRET: ${{ env.CREDS_SCOPED_TEAM_CLIENT_SECRET }}
SCOPED_TEAM_REFRESH_TOKEN: ${{ env.CREDS_SCOPED_TEAM_REFRESH_TOKEN }}
DROPBOX_SHARED_LINK: ${{ env.CREDS_DROPBOX_SHARED_LINK }}
run: npm run coverage:integration
- name: Publish Coverage
uses: codecov/codecov-action@v7
with:
token: ${{ env.CODECOV_TOKEN }}
flags: integration
fail_ci_if_error: true