# This workflow will build a Swift project on macOS and Linux # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift name: swift-openapi-lambda-build on: push: branches: ["main"] pull_request: types: [opened, reopened, synchronize] jobs: soundness: name: Soundness uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main with: # do not use SwiftLang's license header check because the copyright for this project is Amazon.com + contributors license_header_check_enabled: false license_header_check_project_name: "Swift OpenAPI Lambda" shell_check_enabled: false python_lint_check_enabled: false api_breakage_check_container_image: "swift:6.0-noble" docs_check_container_image: "swift:6.0-noble" format_check_container_image: "swiftlang/swift:nightly-6.0-jammy" license: name: License headers check runs-on: ubuntu-latest strategy: fail-fast: false steps: - name: Checkout repository uses: actions/checkout@v4 with: persist-credentials: false - name: Mark the workspace as safe # https://github.com/actions/checkout/issues/766 run: git config --global --add safe.directory ${GITHUB_WORKSPACE} - name: License headers check env: PROJECT_NAME: "Swift OpenAPI Lambda" run: | ./scripts/check-license-headers.sh unit-tests: name: Unit tests uses: apple/swift-nio/.github/workflows/unit_tests.yml@main with: linux_5_9_enabled: false linux_5_10_enabled: true linux_6_0_enabled: true linux_nightly_6_0_enabled: true linux_nightly_main_enabled: true linux_6_0_arguments_override: "--enable-experimental-swift-testing" linux_nightly_6_0_arguments_override: "--enable-experimental-swift-testing --explicit-target-dependency-import-check error" linux_nightly_main_arguments_override: "--enable-experimental-swift-testing --explicit-target-dependency-import-check error" swift-6-language-mode: name: Swift 6 Language Mode uses: apple/swift-nio/.github/workflows/swift_6_language_mode.yml@main