forgot to use rawValue directly #3177
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches-ignore: | |
| - 'main' | |
| env: | |
| BUILDER_VERSION: v0.9.81 | |
| BUILDER_SOURCE: releases | |
| BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net | |
| PACKAGE_NAME: aws-crt-swift | |
| RUN: ${{ github.run_id }}-${{ github.run_number }} | |
| CRT_CI_ROLE: ${{ secrets.CRT_CI_ROLE_ARN }} | |
| AWS_DEFAULT_REGION: us-east-1 | |
| permissions: | |
| id-token: write # This is required for requesting the JWT | |
| jobs: | |
| # depends on all actions required for a "successful" CI run | |
| ci-required-checks: | |
| name: Required checks pass | |
| runs-on: ubuntu-24.04 | |
| needs: | |
| - lint | |
| - linux | |
| - macos | |
| - macos-swift6 | |
| - devices | |
| - check-submodules | |
| steps: | |
| - run: exit 0 | |
| lint: | |
| runs-on: macos-15 # latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Run Swift-Format | |
| run: | | |
| brew install swift-format | |
| swift-format lint --recursive --strict . | |
| linux: | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| image: | |
| - ubuntu-x64 | |
| - al2-x64 | |
| steps: | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ env.CRT_CI_ROLE }} | |
| aws-region: ${{ env.AWS_DEFAULT_REGION }} | |
| - name: Build ${{ env.PACKAGE_NAME }} | |
| run: | | |
| aws s3 cp --debug s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh | |
| ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-swift-5-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} | |
| macos: | |
| runs-on: ${{ matrix.runner }} | |
| env: | |
| DEVELOPER_DIR: /Applications/Xcode.app | |
| XCODE_DESTINATION: 'OS X' | |
| NSUnbufferedIO: YES | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # This matrix runs tests on Mac, on oldest & newest supported Xcodes | |
| runner: | |
| - macos-14 | |
| - macos-14-large #x64 | |
| - macos-15 | |
| - macos-15-large # x64 | |
| steps: | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ env.CRT_CI_ROLE }} | |
| aws-region: ${{ env.AWS_DEFAULT_REGION }} | |
| - name: Build ${{ env.PACKAGE_NAME }} + consumers | |
| run: | | |
| python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" | |
| chmod a+x builder | |
| ./builder build -p ${{ env.PACKAGE_NAME }} | |
| # Test that everything works with Swift 6 strict concurrency. We can remove this CI in the future once we raise our minimum Swift version to Swift 6. | |
| macos-swift6: | |
| runs-on: macos-15 | |
| env: | |
| DEVELOPER_DIR: /Applications/Xcode.app | |
| XCODE_DESTINATION: 'OS X' | |
| NSUnbufferedIO: YES | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ env.CRT_CI_ROLE }} | |
| aws-region: ${{ env.AWS_DEFAULT_REGION }} | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| fetch-depth: 0 | |
| - name: Set Swift version to 6 | |
| run: | | |
| sed -i '' 's/swift-tools-version:5\.[0-9][0-9]*/swift-tools-version:6\.0/' Package.swift | |
| # Verify that substitution was successful | |
| grep -q 'swift-tools-version:6\.0' Package.swift || (echo "No version 5.x found to update" && exit 1) | |
| - name: Build ${{ env.PACKAGE_NAME }} + consumers | |
| run: | | |
| swift build | |
| swift test | |
| devices: | |
| runs-on: ${{ matrix.runner }} | |
| env: | |
| DEVELOPER_DIR: /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
| XCODE_DESTINATION: ${{matrix.target.destination}} | |
| NSUnbufferedIO: YES | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # This matrix runs tests on iOS and tvOS on oldest & newest supported Xcodes. | |
| # Copied from https://github.com/awslabs/aws-sdk-swift/blob/main/.github/workflows/integration-test.yml | |
| runner: | |
| - macos-14 | |
| - macos-15 | |
| xcode: | |
| - Xcode_15.2 | |
| - Xcode_16.4 | |
| target: | |
| [{ os: ios, destination: 'iOS Simulator,OS=17.2,name=iPhone 15'}, | |
| { os: ios, destination: 'iOS Simulator,OS=18.5,name=iPhone 16'}, | |
| { os: tvos, destination: 'tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)'}, | |
| { os: tvos, destination: 'tvOS Simulator,OS=18.5,name=Apple TV 4K (3rd generation) (at 1080p)'}] | |
| exclude: | |
| # Don't run old macOS with new Xcode | |
| - runner: macos-14 | |
| xcode: Xcode_16.4 | |
| # Don't run new macOS with old Xcode | |
| - runner: macos-15 | |
| xcode: Xcode_15.2 | |
| # Don't run old simulators with new Xcode | |
| - target: { os: tvos, destination: 'tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' } | |
| xcode: Xcode_16.4 | |
| - target: { os: ios, destination: 'iOS Simulator,OS=17.2,name=iPhone 15' } | |
| xcode: Xcode_16.4 | |
| # Don't run new simulators with old Xcode | |
| - target: { os: tvos, destination: 'tvOS Simulator,OS=18.5,name=Apple TV 4K (3rd generation) (at 1080p)' } | |
| xcode: Xcode_15.2 | |
| - target: { os: ios, destination: 'iOS Simulator,OS=18.5,name=iPhone 16' } | |
| xcode: Xcode_15.2 | |
| steps: | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ env.CRT_CI_ROLE }} | |
| aws-region: ${{ env.AWS_DEFAULT_REGION }} | |
| - name: Build ${{ env.PACKAGE_NAME }} + consumers | |
| run: | | |
| python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" | |
| chmod a+x builder | |
| ./builder build -p ${{ env.PACKAGE_NAME }} --target=${{ matrix.target.os }}-armv8 | |
| check-submodules: | |
| runs-on: ubuntu-24.04 # latest | |
| steps: | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ env.CRT_CI_ROLE }} | |
| aws-region: ${{ env.AWS_DEFAULT_REGION }} | |
| - name: Checkout Source | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| fetch-depth: 0 | |
| - name: Check Submodules | |
| # note: using "@main" because "@${{env.BUILDER_VERSION}}" doesn't work | |
| # https://github.com/actions/runner/issues/480 | |
| uses: awslabs/aws-crt-builder/.github/actions/check-submodules@main | |
| localhost-test-linux: | |
| runs-on: ubuntu-24.04 # latest | |
| steps: | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ env.CRT_CI_ROLE }} | |
| aws-region: ${{ env.AWS_DEFAULT_REGION }} | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Build and test | |
| run: | | |
| python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" | |
| python builder.pyz build -p ${{ env.PACKAGE_NAME }} --variant=localhost | |
| localhost-test-macos: | |
| runs-on: macos-14 # latest | |
| steps: | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ env.CRT_CI_ROLE }} | |
| aws-region: ${{ env.AWS_DEFAULT_REGION }} | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Build and test | |
| run: | | |
| python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" | |
| chmod a+x builder | |
| ./builder build -p ${{ env.PACKAGE_NAME }} --variant=localhost |