Skip to content

test: add unit-test github action #3

test: add unit-test github action

test: add unit-test github action #3

Workflow file for this run

name: Unit Test
on:
pull_request:
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
unit-test:
name: "[${{ matrix.os }}] Unit Test"
environment: Release
strategy:
fail-fast: false
matrix:
include:
- scheme: AWSAppSyncApolloExtensions
os: iOS
sdk: iphonesimulator
destination: platform=iOS Simulator,name=iPhone 15,OS=latest
- scheme: AWSAppSyncApolloExtensions
os: macOS
sdk: macosx
destination: platform=OS X,arch=x86_64
- scheme: AWSAppSyncApolloExtensions
os: watchOS
sdk: watchsimulator
destination: platform=watchOS Simulator,name=Apple Watch Series 9 (45mm),OS=latest
- scheme: AWSAppSyncApolloExtensions
os: tvOS
sdk: appletvsimulator
destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
runs-on: macos-14
steps:
- name: Configure AWS credentials # TODO(5d): remove this step after repo goes public
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-session-name: ${{ format('{0}.release', github.run_id) }}
aws-region: ${{ secrets.AWS_REGION }}
- id: retrieve-token # TODO(5d): remove this step after repo goes public
name: Retrieve Token
env:
DEPLOY_SECRET_ARN: ${{ secrets.DEPLOY_SECRET_ARN }}
run: |
PAT=$(aws secretsmanager get-secret-value \
--secret-id "$DEPLOY_SECRET_ARN" \
| jq -r ".SecretString | fromjson | .Credential")
echo "token=$PAT" >> $GITHUB_OUTPUT
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
token: ${{steps.retrieve-token.outputs.token}} # TODO(5d): remove this line after repo goes public
- name: ${{ matrix.os }}
run: |
xcodebuild test \
-scheme ${{ matrix.scheme }} \
-destination "${{ matrix.destination }}" \
-sdk ${{ matrix.sdk }} \
-only-testing:"${{ matrix.scheme }}Tests" | xcpretty --simple --color --report junit && exit ${PIPESTATUS[0]}