Skip to content

moar

moar #4

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: 33, 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_sign: "no"}, {name: "Generic_tvOS_[...], (Line: 51, 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_XCODE_VERSION, target: "lib", sdk: "sim", iphone_model: env[...], (Line: 69, 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_model: env.MIN_IPHONE_DEVICE_NAME, ipad_model: env.MIN_IPAD_DE[...], (Line: 81, 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: env.MAX_XCODE_VERSION, action: "int_test_2", dest: "[...]
on: [pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
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 }}