feat: onboard Amazon Audience #2698
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Component Test Reporter | |
on: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }} | |
cancel-in-progress: true | |
permissions: | |
id-token: write # allows the JWT to be requested from GitHub's OIDC provider | |
contents: read # This is required for actions/checkout | |
jobs: | |
test_and_upload: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::${{ secrets.AWS_DEV_ACCOUNT_ID }}:role/${{ secrets.AWS_DEV_S3_SYNC_ROLE }} | |
aws-region: us-east-1 | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 1 | |
- name: Setup Node | |
uses: actions/[email protected] | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- name: Install Dependencies | |
run: npm ci | |
- name: Run Tests and Generate Report | |
run: | | |
npm run test:ts -- component | |
- name: Uplaod Report to S3 | |
run: | | |
aws s3 cp ./test_reports/ s3://test-integrations-dev/integrations-test-reports/rudder-transformer/${{ github.event.number }}/ --recursive | |
- name: Add Test Report Link as Comment on PR | |
uses: actions/github-script@v7 | |
with: | |
github-token: ${{ secrets.PAT }} | |
script: | | |
const { owner, repo } = context.repo; | |
// Get the pull request number | |
const prNumber = context.payload.pull_request.number; | |
const commentBody = `Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/${prNumber}/test-report.html`; | |
// find all the comments of the PR | |
const issueComments = await github.paginate(github.rest.issues.listComments, { | |
owner, | |
repo, | |
issue_number: prNumber, | |
}); | |
for (const comment of issueComments) { | |
if (comment.body === commentBody) { | |
console.log('Comment already exists'); | |
return; | |
} | |
} | |
// Comment on the pull request | |
await github.rest.issues.createComment({ | |
owner, | |
repo, | |
issue_number: prNumber, | |
body: commentBody | |
}); |