Skip to content

Commit

Permalink
add unit test github action
Browse files Browse the repository at this point in the history
  • Loading branch information
5d committed Aug 26, 2024
1 parent e41d595 commit 46938fe
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 3 deletions.
3 changes: 3 additions & 0 deletions .github/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[*.yaml]
indent_style = space
indent_size = 2
4 changes: 2 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
* @aws-amplify/amplify-ios
- @aws-amplify/amplify-ios

/.github/CODEOWNERS @aws-amplify/amplify-ios-admins
/.github/CODEOWNERS @aws-amplify/amplify-ios-admins
70 changes: 70 additions & 0 deletions .github/workflows/unit-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Unit Test

on:
pull_request:

permissions:
id-token: write # TODO(5d): remove this line after repo goes public
contents: write
actions: write

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]}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.DS_Store
/.build
build/
/Packages
xcuserdata/
DerivedData/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ class LocalWebSocketServer {

func sendTransientFailureToConnections() {
self.connections.forEach {
var metadata = NWProtocolWebSocket.Metadata(opcode: .close)
let metadata = NWProtocolWebSocket.Metadata(opcode: .close)
metadata.closeCode = .protocolCode(NWProtocolWebSocket.CloseCode.Defined.internalServerError)
$0.send(
content: nil,
Expand Down

0 comments on commit 46938fe

Please sign in to comment.