Skip to content

Replace IAM creds with role and update deploy workflow #1222

Replace IAM creds with role and update deploy workflow

Replace IAM creds with role and update deploy workflow #1222

# For the backwards compatibility test, this should be run on the release branch only as part.
# The release branch should not be tagged with the new version yet (that happens when we create a Github Release)
# so we can checkout the latest tag and install the new version tarball into the demo.
# For example, if we're about to release v2.14.0, first create a tarball (the relase commit should bump the pacakge.json version to v2.14.0)
# then check out the previous v2.13.0 demo using the v2.13.0 tag, then navigate to the v2.13.0 demo and install the v2.14.0 amazon-chime-sdk-js tarball.
# Then run the entire integration test suite on the demo.
name: Backwards Compatibility Test
on:
pull_request:
branches:
- main
push:
branches:
- 'release-**'
- '!release-**.x'
env:
SELENIUM_GRID_PROVIDER: saucelabs
CLOUD_WATCH_METRIC: false
TEST_TYPE: Github-Action
SAUCE_USERNAME: ${{secrets.SAUCE_USERNAME}}
SAUCE_ACCESS_KEY: ${{secrets.SAUCE_ACCESS_KEY}}
MESSAGING_USER_ARN: ${{secrets.MESSAGING_USER_ARN}}
permissions:
id-token: write # This is required for requesting the JWT
jobs:
check-backward-compatibility-run:
name: Check need for backward compatibility checks
runs-on: ubuntu-latest
outputs:
run-check: ${{ steps.version-check.outputs.run-check }}
steps:
- name: Checkout Package
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Version check for backward compatibility check
id: version-check
run: echo "run-check=$(node .github/script/backward-compatibility-run-check.js)" >> $GITHUB_OUTPUT
release-integ-test:
name: Run Backwards Compatible Integration Tests with Release Tarball
runs-on: ubuntu-latest
needs: check-backward-compatibility-run
if: contains(needs.check-backward-compatibility-run.outputs.run-check, 'Run backward compatibility checks')
steps:
- name: Setup Node.js - 20.x
uses: actions/setup-node@v1
with:
node-version: 20.x
- name: Checkout Package
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Pack the Chime SDK and install the tarball into the previous version Demo
run: node script/backward-compatibility-demo-setup.js
- name: Create a Job ID
id: create-job-id
uses: filipstefansson/uuid-action@ce29ebbb0981ac2448c2e406e848bfaa30ddf04c
- name: Set JOB_ID Env Variable
run: echo "JOB_ID=${{ steps.create-job-id.outputs.uuid }}" >> $GITHUB_ENV
- name: Echo Job ID
run: echo "${{ steps.create-job-id.outputs.uuid }}"
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME_SDK_DEV }}
role-session-name: ${{ env.TEST_TYPE }}
aws-region: us-east-1
- name: Setup Sauce Connect
uses: saucelabs/sauce-connect-action@v2
with:
username: ${{ secrets.SAUCE_USERNAME }}
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
noSSLBumpDomains: all
tunnelIdentifier: ${{ steps.create-job-id.outputs.uuid }}
- name: Install Kite
run: integration/js/script/install-kite
- name: Clean Install
run: npm ci
- name: Run Audio Integration Test
run: npm run test:integration-audio
- name: Run Video Integ Test
run: npm run test:integration-video
- name: Run Content Share Integration Test Job One
run: npm run test:integration-content-share-test-suite-one
- name: Run Content Share Integration Test Job Two
run: npm run test:integration-content-share-test-suite-two
- name: Run Data Message Integration Test
run: npm run test:integration-data-message
- name: Run Meeting Readiness Checker Integration Test
run: npm run test:integration-meeting-readiness-checker
- name: Setup userArn
run: integration/js/script/test-setup
- name: Run Messaging Integration Test
run: npm run test:integration-messaging