docs: updates #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Checks | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: checks-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| swift: | |
| name: Swift 6.3.3 | |
| runs-on: macos-26 | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v7 | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: "26.6" | |
| - name: Show toolchain versions | |
| run: | | |
| swift --version | |
| xcodebuild -version | |
| - name: Build | |
| run: swift build | |
| - name: Check Swift 6 concurrency | |
| run: make strict-concurrency | |
| - name: Test | |
| run: swift test | |
| - name: Release build | |
| run: swift build -c release | |
| - name: Test with Thread Sanitizer | |
| env: | |
| MACOSX_DEPLOYMENT_TARGET: "13.0" | |
| run: swift test --sanitize=thread | |
| apple-platforms: | |
| name: ${{ matrix.name }} compile check | |
| runs-on: macos-26 | |
| timeout-minutes: 20 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: iOS | |
| sdk: iphonesimulator | |
| triple: arm64-apple-ios13.0-simulator | |
| - name: tvOS | |
| sdk: appletvsimulator | |
| triple: arm64-apple-tvos13.0-simulator | |
| - name: watchOS | |
| sdk: watchsimulator | |
| triple: arm64-apple-watchos6.0-simulator | |
| - name: visionOS | |
| sdk: xrsimulator | |
| triple: arm64-apple-xros1.0-simulator | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v7 | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: "26.6" | |
| - name: Show toolchain versions | |
| run: | | |
| swift --version | |
| xcodebuild -version | |
| - name: Compile public libraries | |
| run: | | |
| for target in Messagevisor MessagevisorICU MessagevisorInterpolation MessagevisorMissingTranslations; do | |
| swift build \ | |
| --target "$target" \ | |
| --triple "${{ matrix.triple }}" \ | |
| --sdk "$(xcrun --sdk '${{ matrix.sdk }}' --show-sdk-path)" \ | |
| --scratch-path "/tmp/messagevisor-${{ matrix.sdk }}-$target" | |
| done | |
| integration: | |
| name: Public consumers and project-1 | |
| runs-on: macos-26 | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Check out Swift SDK | |
| uses: actions/checkout@v7 | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: "26.6" | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: .nvmrc | |
| package-manager-cache: false | |
| - name: Initialize Messagevisor project-1 | |
| env: | |
| npm_config_yes: "true" | |
| run: | | |
| mkdir project-1 | |
| cd project-1 | |
| npx @messagevisor/cli init --project=1 | |
| - name: Install Messagevisor project-1 dependencies | |
| working-directory: project-1 | |
| run: npm install | |
| - name: Validate Messagevisor project-1 | |
| working-directory: project-1 | |
| run: | | |
| npm run lint | |
| npm run build | |
| npm run test | |
| - name: Verify clean package consumers | |
| run: make verify-consumers | |
| - name: Run project tests against Swift SDK | |
| run: >- | |
| swift run messagevisor-swift test --projectDirectoryPath=project-1 | |
| --onlyFailures --target=swift --normalizeSpaces --withIcuModule | |
| --withInterpolationModule |