Skip to content

fix

fix #3

Workflow file for this run

name: WDA Tests

Check failure on line 1 in .github/workflows/wda-tests.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/wda-tests.yml

Invalid workflow file

(Line: 29, Col: 14): Unexpected symbol: '{name:'. Located at position 12 within expression: toJSON([ {name: 'Generic_iOS_Build_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'build', target: 'runner', sdk: 'sim', dest: 'generic', code_sign: 'no'}, {name: 'Generic_iOS_Build_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'build', target: 'runner', sdk: 'sim', dest: 'generic', code_[...], (Line: 47, Col: 14): Unexpected symbol: '{name:'. Located at position 12 within expression: toJSON([ {name: 'iOS_Lib_Analyze_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', target: 'lib', sdk: 'sim', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'}, {name: 'iOS_Lib_Analyze_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_[...], (Line: 65, Col: 14): Unexpected symbol: '{name:'. Located at position 12 within expression: toJSON([ {name: 'iPhone_Unit_Test_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'}, {name: 'iPhone_Unit_Test_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', iphone[...], (Line: 77, Col: 14): Unexpected symbol: '{name:'. Located at position 12 within expression: toJSON([ {name: 'iphone_int_test_1_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'int_test_1', dest: 'iphone', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'}, {name: 'iphone_int_test_2_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version[...]
on: [pull_request]
env:
MIN_VM_IMAGE: macos-14
MIN_XCODE_VERSION: "15.4"
MIN_PLATFORM_VERSION: "17.5"
MIN_TV_PLATFORM_VERSION: "17.5"
MIN_TV_DEVICE_NAME: "Apple TV 4K (3rd generation)"
MIN_IPHONE_DEVICE_NAME: "iPhone 15 Plus"
MIN_IPAD_DEVICE_NAME: "iPad Air 13-inch (M2)"
MAX_VM_IMAGE: macos-15
MAX_XCODE_VERSION: "26.1"
MAX_PLATFORM_VERSION: "26.1"
MAX_TV_PLATFORM_VERSION: "26.1"
MAX_IPHONE_DEVICE_NAME: "iPhone 17"
MAX_TV_DEVICE_NAME: "Apple TV 4K (3rd generation)"
MAX_IPAD_DEVICE_NAME: "iPad Air 11-inch (M2)"
DEFAULT_NODE_VERSION: "22.x"
jobs:
build_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- id: set-matrix
run: |
echo "matrix=${{ toJSON([
{name: 'Generic_iOS_Build_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'build', target: 'runner', sdk: 'sim', dest: 'generic', code_sign: 'no'},
{name: 'Generic_iOS_Build_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'build', target: 'runner', sdk: 'sim', dest: 'generic', code_sign: 'no'},
{name: 'Generic_tvOS_Build_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'build', target: 'tv_runner', sdk: 'tv_sim', dest: 'tv_generic', code_sign: 'no'},
{name: 'Generic_tvOS_Build_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'build', target: 'tv_runner', sdk: 'tv_sim', dest: 'tv_generic', code_sign: 'no'},
{name: 'iOS_Build_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'build', target: 'runner', sdk: 'sim', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'iOS_Build_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'build', target: 'runner', sdk: 'sim', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'tvOS_Build_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'build', target: 'tv_runner', sdk: 'tv_sim', tv_model: '${{ env.MAX_TV_DEVICE_NAME }}', tv_version: '${{ env.MAX_TV_PLATFORM_VERSION }}'},
{name: 'tvOS_Build_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'build', target: 'tv_runner', sdk: 'tv_sim', dest: 'tv', tv_model: '${{ env.MIN_TV_DEVICE_NAME }}', tv_version: '${{ env.MIN_TV_PLATFORM_VERSION }}'}
]) }}" >> $GITHUB_OUTPUT
analyze_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- id: set-matrix
run: |
echo "matrix=${{ toJSON([
{name: 'iOS_Lib_Analyze_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', target: 'lib', sdk: 'sim', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'iOS_Lib_Analyze_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', target: 'lib', sdk: 'sim', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'iOS_Runner_Analyze_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', target: 'runner', sdk: 'sim', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'iOS_Runner_Analyze_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', target: 'runner', sdk: 'sim', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'tvOS_Lib_Analyze_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', target: 'tv_lib', sdk: 'tv_sim', tv_model: '${{ env.MAX_TV_DEVICE_NAME }}', tv_version: '${{ env.MAX_TV_PLATFORM_VERSION }}'},
{name: 'tvOS_Lib_Analyze_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', target: 'tv_lib', sdk: 'tv_sim', tv_model: '${{ env.MIN_TV_DEVICE_NAME }}', tv_version: '${{ env.MIN_TV_PLATFORM_VERSION }}'},
{name: 'tvOS_Runner_Analyze_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', target: 'tv_runner', sdk: 'tv_sim', tv_model: '${{ env.MAX_TV_DEVICE_NAME }}', tv_version: '${{ env.MAX_TV_PLATFORM_VERSION }}'},
{name: 'tvOS_Runner_Analyze_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', target: 'tv_runner', sdk: 'tv_sim', tv_model: '${{ env.MIN_TV_DEVICE_NAME }}', tv_version: '${{ env.MIN_TV_PLATFORM_VERSION }}'}
]) }}" >> $GITHUB_OUTPUT
unit_test_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- id: set-matrix
run: |
echo "matrix=${{ toJSON([
{name: 'iPhone_Unit_Test_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'iPhone_Unit_Test_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'}
]) }}" >> $GITHUB_OUTPUT
integration_test_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- id: set-matrix
run: |
echo "matrix=${{ toJSON([
{name: 'iphone_int_test_1_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'int_test_1', dest: 'iphone', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'iphone_int_test_2_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'int_test_2', dest: 'iphone', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'iphone_int_test_3_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'int_test_3', dest: 'iphone', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'ipad_int_test_1_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'int_test_1', dest: 'ipad', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'ipad_int_test_2_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'int_test_2', dest: 'ipad', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'ipad_int_test_3_Max_Xcode', vm_image: '${{ env.MAX_VM_IMAGE }}', xcode_version: '${{ env.MAX_XCODE_VERSION }}', action: 'int_test_3', dest: 'ipad', iphone_model: '${{ env.MAX_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MAX_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MAX_PLATFORM_VERSION }}'},
{name: 'iphone_int_test_1_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'int_test_1', dest: 'iphone', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'iphone_int_test_2_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'int_test_2', dest: 'iphone', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'iphone_int_test_3_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'int_test_3', dest: 'iphone', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'ipad_int_test_1_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'int_test_1', dest: 'ipad', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'ipad_int_test_2_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'int_test_2', dest: 'ipad', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'},
{name: 'ipad_int_test_3_Min_Xcode', vm_image: '${{ env.MIN_VM_IMAGE }}', xcode_version: '${{ env.MIN_XCODE_VERSION }}', action: 'int_test_3', dest: 'ipad', iphone_model: '${{ env.MIN_IPHONE_DEVICE_NAME }}', ipad_model: '${{ env.MIN_IPAD_DEVICE_NAME }}', ios_version: '${{ env.MIN_PLATFORM_VERSION }}'}
]) }}" >> $GITHUB_OUTPUT
build:
needs: build_matrix
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.vm_image }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJSON(needs.build_matrix.outputs.matrix) }}
steps:
- uses: ./.github/actions/xcode-setup
with:
node_version: ${{ env.DEFAULT_NODE_VERSION }}
xcode_version: ${{ matrix.config.xcode_version }}
- name: Build
run: ./Scripts/build.sh
env:
ACTION: ${{ matrix.config.action }}
TARGET: ${{ matrix.config.target }}
SDK: ${{ matrix.config.sdk }}
DEST: ${{ matrix.config.dest }}
CODE_SIGN: ${{ matrix.config.code_sign }}
IPHONE_MODEL: ${{ matrix.config.iphone_model }}
IPAD_MODEL: ${{ matrix.config.ipad_model }}
IOS_VERSION: ${{ matrix.config.ios_version }}
TV_MODEL: ${{ matrix.config.tv_model }}
TV_VERSION: ${{ matrix.config.tv_version }}
analyze:
needs: analyze_matrix
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.vm_image }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJSON(needs.analyze_matrix.outputs.matrix) }}
steps:
- uses: ./.github/actions/xcode-setup
with:
node_version: ${{ env.DEFAULT_NODE_VERSION }}
xcode_version: ${{ matrix.config.xcode_version }}
- name: Analyze
run: ./Scripts/build.sh
env:
ACTION: analyze
TARGET: ${{ matrix.config.target }}
SDK: ${{ matrix.config.sdk }}
IPHONE_MODEL: ${{ matrix.config.iphone_model }}
IPAD_MODEL: ${{ matrix.config.ipad_model }}
IOS_VERSION: ${{ matrix.config.ios_version }}
TV_MODEL: ${{ matrix.config.tv_model }}
TV_VERSION: ${{ matrix.config.tv_version }}
unit_test:
needs: unit_test_matrix
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.vm_image }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJSON(needs.unit_test_matrix.outputs.matrix) }}
steps:
- uses: ./.github/actions/xcode-setup
with:
node_version: ${{ env.DEFAULT_NODE_VERSION }}
xcode_version: ${{ matrix.config.xcode_version }}
- name: Run unit tests
run: ./Scripts/build.sh
env:
ACTION: unit_test
DEST: iphone
TARGET: lib
SDK: sim
IPHONE_MODEL: ${{ matrix.config.iphone_model }}
IPAD_MODEL: ${{ matrix.config.ipad_model }}
IOS_VERSION: ${{ matrix.config.ios_version }}
integration_test:
needs: integration_test_matrix
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.vm_image }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJSON(needs.integration_test_matrix.outputs.matrix) }}
steps:
- uses: ./.github/actions/xcode-setup
with:
node_version: ${{ env.DEFAULT_NODE_VERSION }}
xcode_version: ${{ matrix.config.xcode_version }}
- name: Run integration test
run: ./Scripts/build.sh
env:
ACTION: ${{ matrix.config.action }}
DEST: ${{ matrix.config.dest }}
TARGET: lib
SDK: sim
IPHONE_MODEL: ${{ matrix.config.iphone_model }}
IPAD_MODEL: ${{ matrix.config.ipad_model }}
IOS_VERSION: ${{ matrix.config.ios_version }}