Skip to content

Speech MEAI (5/7): Nova Sonic backend swap + AsIRealtimeClient adapter #215

Speech MEAI (5/7): Nova Sonic backend swap + AsIRealtimeClient adapter

Speech MEAI (5/7): Nova Sonic backend swap + AsIRealtimeClient adapter #215

Workflow file for this run

name: AWS CI
on:
workflow_dispatch:
pull_request:
branches:
- main
- dev
- "feature/**"
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
run-ci:
name: Run CI
runs-on: ubuntu-latest
permissions:
id-token: write # OIDC to assume the CI testing roles
steps:
- name: Configure Load Balancer Credentials
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
with:
role-to-assume: ${{ secrets.CI_MAIN_TESTING_ACCOUNT_ROLE_ARN }}
role-duration-seconds: 7200
aws-region: us-west-2
- name: Invoke Load Balancer Lambda
id: lambda
shell: pwsh
env:
FN: ${{ secrets.CI_TESTING_LOAD_BALANCER_LAMBDA_NAME }}
ROLES: ${{ secrets.CI_TEST_RUNNER_ACCOUNT_ROLES }}
PROJECT: ${{ secrets.CI_TESTING_CODE_BUILD_PROJECT_NAME }}
SHA: ${{ github.sha }}
run: |
aws lambda invoke response.json --function-name "$env:FN" --cli-binary-format raw-in-base64-out --payload "{`"Roles`": `"$env:ROLES`", `"ProjectName`": `"$env:PROJECT`", `"Branch`": `"$env:SHA`"}"
$roleArn=$(cat ./response.json)
"roleArn=$($roleArn -replace '"', '')" >> $env:GITHUB_OUTPUT
- name: Configure Test Runner Credentials
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
with:
role-to-assume: ${{ steps.lambda.outputs.roleArn }}
role-duration-seconds: 7200
aws-region: us-west-2
- name: Run Tests on AWS
id: codebuild
uses: aws-actions/aws-codebuild-run-build@4d15a47425739ac2296ba5e7eee3bdd4bfbdd767 # v1.0.18
with:
project-name: ${{ secrets.CI_TESTING_CODE_BUILD_PROJECT_NAME }}
- name: Configure Test Sweeper Lambda Credentials
if: always()
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
with:
role-to-assume: ${{ steps.lambda.outputs.roleArn }}
role-duration-seconds: 7200
aws-region: us-west-2
- name: Invoke Test Sweeper Lambda
if: always()
shell: pwsh
env:
SWEEPER_FN: ${{ secrets.CI_TESTING_TEST_SWEEPER_LAMBDA_NAME }}
PROJECT: ${{ secrets.CI_TESTING_CODE_BUILD_PROJECT_NAME }}
run: |
aws lambda invoke response.json --function-name "$env:SWEEPER_FN" --cli-binary-format raw-in-base64-out --payload "{`"Tags`": `"aws-repo=$env:PROJECT`"}"
- name: CodeBuild Link
shell: pwsh
env:
BUILD_ID: ${{ steps.codebuild.outputs.aws-build-id }}
run: |
$buildId = "$env:BUILD_ID"
echo $buildId