Skip to content

Add apple platform cross compile workflows. #133

@rauhul

Description

@rauhul

Swift-MMIO wants to make sure it can build for all apple platforms, so we've added the following workflow. Something similar should be provided directly by this repo.

name: Apple CC Matrix

on:
  workflow_call:

jobs:
  apple-cc-build:
    name: ${{ matrix.os.name }} (Xcode ${{ matrix.xcode_version }} - ${{ matrix.macos_version }} - ${{ matrix.macos_arch }})
    runs-on: [self-hosted, macos, "${{ matrix.macos_version }}", "${{ matrix.macos_arch }}"]
    strategy:
      fail-fast: false
      matrix:
        xcode_version: ["16.3"]
        os:
          - name: iOS
            platform: iOS
          - name: tvOS
            platform: tvOS
          - name: visionOS
            platform: xrOS
          - name: watchOS
            platform: watchOS
        arch: [arm64]
        macos_version: [sequoia]
        macos_arch: [ARM64]
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Install xcbeautify
        run: |
          curl -L https://github.com/cpisciotta/xcbeautify/releases/download/2.28.0/xcbeautify-2.28.0-arm64-apple-macosx.zip -o xcbeautify.zip
          sha256 -c 00d16a08b426e004e5d101631515ea1bbc0ab20209541cd4cacb569d3289c9e7 xcbeautify.zip
          unzip xcbeautify.zip -d /tmp
          chmod +x /tmp/xcbeautify
          /tmp/xcbeautify --version
      - name: Select Xcode
        run: echo "DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode_version }}.app" >> $GITHUB_ENV
      - name: Swift version
        run: xcrun swift --version
      - name: Build / Test
        run: xcodebuild build -scheme swift-mmio-Package -destination generic/platform=${{ matrix.os.platform }} | /tmp/xcbeautify
        timeout-minutes: 60

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions