diff --git a/.github/workflows/android_swift_sdk.yml b/.github/workflows/android_swift_sdk.yml index 4cc8209bbd..bd7de0648b 100644 --- a/.github/workflows/android_swift_sdk.yml +++ b/.github/workflows/android_swift_sdk.yml @@ -29,7 +29,7 @@ jobs: - id: generate-matrix run: | # Validate and use JSON environment variables directly - env_vars_json='${INPUTS_ENV_VARS}' + env_vars_json='${{ inputs.env_vars }}' # Validate JSON format if ! echo "$env_vars_json" | jq empty 2>/dev/null; then @@ -49,15 +49,12 @@ jobs: "image":"ubuntu:jammy", "setup_command":"apt update -q && apt install -y -q curl jq tar && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_prerequisites.sh | bash && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_sdk.sh | INSTALL_SWIFT_BRANCH=main INSTALL_SWIFT_ARCH=x86_64 INSTALL_SWIFT_SDK=android-sdk bash && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_android_ndk.sh | bash && hash -r", "command":"curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/swift-build-with-android-sdk.sh | bash -s --", - "command_arguments":"${INPUTS_ADDITIONAL_COMMAND_ARGUMENTS}", + "command_arguments":"${{ inputs.additional_command_arguments }}", "env":'"$env_vars_json"' } ] }' | jq -c) EOM - env: - INPUTS_ENV_VARS: ${{ inputs.env_vars }} - INPUTS_ADDITIONAL_COMMAND_ARGUMENTS: ${{ inputs.additional_command_arguments }} android-swift-sdk: name: Android Swift SDK diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index a4937e0ccc..bc5639d289 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -95,7 +95,7 @@ jobs: - id: generate-matrix run: | # Validate JSON environment variables - linux_env_vars_json='${MATRIX_LINUX_ENV_VARS}' + linux_env_vars_json='${{ inputs.linux_env_vars }}' if ! echo "$linux_env_vars_json" | jq empty 2>/dev/null; then echo "Error: linux_env_vars is not valid JSON" @@ -114,7 +114,6 @@ jobs: MATRIX_LINUX_6_2_ENABLED: ${{ inputs.linux_6_2_enabled }} MATRIX_LINUX_NIGHTLY_NEXT_ENABLED: ${{ inputs.linux_nightly_6_1_enabled && inputs.linux_nightly_next_enabled }} MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }} - MATRIX_LINUX_ENV_VARS: ${{ inputs.linux_env_vars }} benchmarks-linux: name: Benchmarks diff --git a/.github/workflows/cmake_tests.yml b/.github/workflows/cmake_tests.yml index 96de04b429..c2ad837408 100644 --- a/.github/workflows/cmake_tests.yml +++ b/.github/workflows/cmake_tests.yml @@ -43,17 +43,11 @@ jobs: which curl jq || apt -q update which curl || apt -yq install curl which jq || apt -yq install jq - curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/update-cmake-lists.sh | bash - env: - FAIL_ON_CHANGES: true - CONFIG_JSON: ${{ inputs.update_cmake_lists_config }} + curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/update-cmake-lists.sh | CONFIG_JSON='${{ inputs.update_cmake_lists_config }}' FAIL_ON_CHANGES=true bash - name: CMake build run: | which curl cmake ninja || apt -q update which curl || apt -yq install curl which cmake || apt -yq install cmake which ninja || apt -yq install ninja-build - curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/cmake-build.sh | bash - env: - TARGET_DIRECTORY: ${{ inputs.cmake_build_target_directory }} - CMAKE_VERSION: ${{ inputs.cmake_version }} + curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/cmake-build.sh | TARGET_DIRECTORY="${{ inputs.cmake_build_target_directory }}" CMAKE_VERSION="${{ inputs.cmake_version }}" bash diff --git a/.github/workflows/cxx_interop.yml b/.github/workflows/cxx_interop.yml index 1deddb6735..2540a9fb39 100644 --- a/.github/workflows/cxx_interop.yml +++ b/.github/workflows/cxx_interop.yml @@ -92,8 +92,8 @@ jobs: - id: generate-matrix run: | # Validate JSON environment variables - linux_env_vars_json='${MATRIX_LINUX_ENV_VARS}' - windows_env_vars_json='${MATRIX_WINDOWS_ENV_VARS}' + linux_env_vars_json='${{ inputs.linux_env_vars }}' + windows_env_vars_json='${{ inputs.windows_env_vars }}' if ! echo "$linux_env_vars_json" | jq empty 2>/dev/null; then echo "Error: linux_env_vars is not valid JSON" @@ -117,8 +117,6 @@ jobs: MATRIX_LINUX_6_2_ENABLED: ${{ inputs.linux_6_2_enabled }} MATRIX_LINUX_NIGHTLY_NEXT_ENABLED: ${{ inputs.linux_nightly_6_1_enabled && inputs.linux_nightly_next_enabled }} MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }} - MATRIX_LINUX_ENV_VARS: ${{ inputs.linux_env_vars }} - MATRIX_WINDOWS_ENV_VARS: ${{ inputs.windows_env_vars }} cxx-interop: name: Cxx interop diff --git a/.github/workflows/macos_benchmarks.yml b/.github/workflows/macos_benchmarks.yml index 1fe4c5a633..8dec112d58 100644 --- a/.github/workflows/macos_benchmarks.yml +++ b/.github/workflows/macos_benchmarks.yml @@ -70,7 +70,7 @@ jobs: - id: generate-matrix run: | # Validate JSON environment variables - macos_env_vars_json='${MATRIX_MACOS_ENV_VARS}' + macos_env_vars_json='${{ inputs.macos_env_vars }}' if ! echo "$macos_env_vars_json" | jq empty 2>/dev/null; then echo "Error: macos_env_vars is not valid JSON" @@ -130,7 +130,6 @@ jobs: MACOS_XCODE_26_0_ENABLED: ${{ inputs.macos_xcode_26_0_enabled }} MACOS_XCODE_26_1_ENABLED: ${{ inputs.macos_xcode_26_1_enabled }} MACOS_XCODE_LATEST_BETA_ENABLED: ${{ inputs.macos_xcode_latest_beta_enabled }} - MATRIX_MACOS_ENV_VARS: ${{ inputs.macos_env_vars }} benchmarks-macos: name: ${{ matrix.config.name }} @@ -157,8 +156,7 @@ jobs: echo '${{ toJSON(matrix.config.env) }}' | jq -r 'to_entries[] | "exporting \(.key)=\(.value)"' - name: Run benchmarks script run: | - curl -s https://raw.githubusercontent.com/apple/swift-nio/main/scripts/check_benchmark_thresholds.sh | bash -s -- --disable-sandbox --allow-writing-to-package-directory + curl -s https://raw.githubusercontent.com/apple/swift-nio/main/scripts/check_benchmark_thresholds.sh | BENCHMARK_PACKAGE_PATH=${{ inputs.benchmark_package_path }} bash -s -- --disable-sandbox --allow-writing-to-package-directory env: DEVELOPER_DIR: "/Applications/${{ matrix.config.xcode_app }}" SWIFT_VERSION: "Xcode ${{ matrix.config.xcode_version }}" - BENCHMARK_PACKAGE_PATH: ${{ inputs.benchmark_package_path }} diff --git a/.github/workflows/macos_tests.yml b/.github/workflows/macos_tests.yml index 11571f870e..c8868359f6 100644 --- a/.github/workflows/macos_tests.yml +++ b/.github/workflows/macos_tests.yml @@ -231,7 +231,7 @@ jobs: - id: generate-matrix run: | # Validate and use JSON environment variables directly - env_vars_json='${MATRIX_ENV_VARS}' + env_vars_json='${{ inputs.env_vars }}' # Validate JSON format if ! echo "$env_vars_json" | jq empty 2>/dev/null; then @@ -421,7 +421,6 @@ jobs: MATRIX_MACOS_LATEST_BETA_BUILD_ARGUMENTS_OVERRIDE: ${{ inputs.xcode_latest_beta_build_arguments_override }} MATRIX_MACOS_LATEST_BETA_TEST_ARGUMENTS_OVERRIDE: ${{ inputs.xcode_latest_beta_test_arguments_override }} MATRIX_MACOS_LATEST_BETA_SETUP_COMMAND: ${{ inputs.xcode_latest_beta_setup_command }} - MATRIX_ENV_VARS: ${{ inputs.env_vars }} darwin-job: name: ${{ matrix.config.name }} @@ -450,25 +449,19 @@ jobs: /usr/bin/xcodebuild -version - name: Setup command if: ${{ matrix.config.setup_command != '' }} - run: bash -c "${MATRIX_CONFIG_SETUP_COMMAND}" - env: - MATRIX_CONFIG_SETUP_COMMAND: ${{ matrix.config.setup_command }} + run: bash -c "${{ matrix.config.setup_command }}" - name: Swift build run: | - if [ -n "${MATRIX_CONFIG_BUILD_ARGUMENTS_OVERRIDE}" ]; then - swift build ${MATRIX_CONFIG_BUILD_ARGUMENTS_OVERRIDE} + if [ -n "${{ matrix.config.build_arguments_override }}" ]; then + swift build ${{ matrix.config.build_arguments_override }} else swift build --build-tests fi - env: - MATRIX_CONFIG_BUILD_ARGUMENTS_OVERRIDE: ${{ matrix.config.build_arguments_override }} - name: Swift test if: 'inputs.swift_test_enabled' - env: - MATRIX_CONFIG_TEST_ARGUMENTS_OVERRIDE: ${{ matrix.config.test_arguments_override }} run: | - if [ -n "${MATRIX_CONFIG_TEST_ARGUMENTS_OVERRIDE}" ]; then - swift test ${MATRIX_CONFIG_TEST_ARGUMENTS_OVERRIDE} + if [ -n "${{ matrix.config.test_arguments_override }}" ]; then + swift test ${{ matrix.config.test_arguments_override }} else swift test fi diff --git a/.github/workflows/release_builds.yml b/.github/workflows/release_builds.yml index 9945d8f2f7..bdb5f28bda 100644 --- a/.github/workflows/release_builds.yml +++ b/.github/workflows/release_builds.yml @@ -124,8 +124,8 @@ jobs: - id: generate-matrix run: | # Validate JSON environment variables - linux_env_vars_json='${MATRIX_LINUX_ENV_VARS}' - windows_env_vars_json='${MATRIX_WINDOWS_ENV_VARS}' + linux_env_vars_json='${{ inputs.linux_env_vars }}' + windows_env_vars_json='${{ inputs.windows_env_vars }}' if ! echo "$linux_env_vars_json" | jq empty 2>/dev/null; then echo "Error: linux_env_vars is not valid JSON" @@ -154,7 +154,6 @@ jobs: MATRIX_LINUX_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_next_arguments_override }} MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }} MATRIX_LINUX_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_main_arguments_override }} - MATRIX_LINUX_ENV_VARS: ${{ inputs.linux_env_vars }} MATRIX_WINDOWS_COMMAND: "swift build -c release" MATRIX_WINDOWS_6_0_ENABLED: ${{ inputs.windows_6_0_enabled }} MATRIX_WINDOWS_6_0_COMMAND_ARGUMENTS: ${{ inputs.windows_6_0_arguments_override }} @@ -166,7 +165,6 @@ jobs: MATRIX_WINDOWS_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_next_arguments_override }} MATRIX_WINDOWS_NIGHTLY_MAIN_ENABLED: ${{ inputs.windows_nightly_main_enabled }} MATRIX_WINDOWS_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_main_arguments_override }} - MATRIX_WINDOWS_ENV_VARS: ${{ inputs.windows_env_vars }} release-builds: name: Release builds diff --git a/.github/workflows/static_sdk.yml b/.github/workflows/static_sdk.yml index a27cb5f116..38e2e244b4 100644 --- a/.github/workflows/static_sdk.yml +++ b/.github/workflows/static_sdk.yml @@ -29,7 +29,7 @@ jobs: - id: generate-matrix run: | # Validate and use JSON environment variables directly - env_vars_json='${INPUTS_ENV_VARS}' + env_vars_json='${{ inputs.env_vars }}' # Validate JSON format if ! echo "$env_vars_json" | jq empty 2>/dev/null; then @@ -49,7 +49,7 @@ jobs: "image":"ubuntu:jammy", "setup_command":"apt update -q && apt install -y -q curl jq tar && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_prerequisites.sh | bash && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_sdk.sh | INSTALL_SWIFT_VERSION=latest INSTALL_SWIFT_ARCH=x86_64 bash && hash -r", "command":"swift build", - "command_arguments":"--swift-sdks-path /tmp/swiftsdks ${INPUTS_COMMAND_ARGUMENTS}", + "command_arguments":"--swift-sdks-path /tmp/swiftsdks ${{ inputs.command_arguments }}", "env":'"$env_vars_json"' }, { @@ -60,15 +60,12 @@ jobs: "image":"ubuntu:jammy", "setup_command":"apt update -q && apt install -y -q curl jq tar && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_prerequisites.sh | bash && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_sdk.sh | INSTALL_SWIFT_BRANCH=main INSTALL_SWIFT_ARCH=x86_64 bash && hash -r", "command":"swift build", - "command_arguments":"--swift-sdks-path /tmp/swiftsdks ${INPUTS_COMMAND_ARGUMENTS}", + "command_arguments":"--swift-sdks-path /tmp/swiftsdks ${{ inputs.command_arguments }}", "env":'"$env_vars_json"' } ] }' | jq -c) EOM - env: - INPUTS_ENV_VARS: ${{ inputs.env_vars }} - INPUTS_COMMAND_ARGUMENTS: ${{ inputs.command_arguments }} static-sdk: name: Static SDK diff --git a/.github/workflows/swift_load_test_matrix.yml b/.github/workflows/swift_load_test_matrix.yml index 14835ad8c6..e06d0c6bdf 100644 --- a/.github/workflows/swift_load_test_matrix.yml +++ b/.github/workflows/swift_load_test_matrix.yml @@ -31,9 +31,7 @@ jobs: run: git config --global --add safe.directory ${GITHUB_WORKSPACE} - id: load-matrix run: | - printf "swift-matrix=%s" "$(jq -ec '.' ${INPUTS_MATRIX_PATH})" >> "$GITHUB_OUTPUT" - env: - INPUTS_MATRIX_PATH: ${{ inputs.matrix_path }} + printf "swift-matrix=%s" "$(jq -ec '.' ${{ inputs.matrix_path }})" >> "$GITHUB_OUTPUT" execute-matrix: diff --git a/.github/workflows/swift_matrix.yml b/.github/workflows/swift_matrix.yml index 0a81cb7093..da3a96e9cb 100644 --- a/.github/workflows/swift_matrix.yml +++ b/.github/workflows/swift_matrix.yml @@ -196,10 +196,7 @@ jobs: - name: Run matrix job if: ${{ matrix.swift.enabled }} run: | - docker run --env SWIFT_VERSION="${{ matrix.swift.swift_version }}" --env COMMAND="$env:INPUTS_MATRIX_WINDOWS_COMMAND" --env COMMAND_OVERRIDE_6_0="$env:INPUTS_MATRIX_WINDOWS_6_0_COMMAND_OVERRIDE" -v ${{ github.workspace }}:C:\source ${{ matrix.swift.image }} cmd /s /c "swift --version & cd C:\source\ & powershell -File __check-matrix-job.ps1" - env: - INPUTS_MATRIX_WINDOWS_COMMAND: ${{ inputs.matrix_windows_command }} - INPUTS_MATRIX_WINDOWS_6_0_COMMAND_OVERRIDE: ${{ inputs.matrix_windows_6_0_command_override }} + docker run --env SWIFT_VERSION="${{ matrix.swift.swift_version }}" --env COMMAND="${{ inputs.matrix_windows_command }}" --env COMMAND_OVERRIDE_6_0="${{ inputs.matrix_windows_6_0_command_override }}" -v ${{ github.workspace }}:C:\source ${{ matrix.swift.image }} cmd /s /c "swift --version & cd C:\source\ & powershell -File __check-matrix-job.ps1" windows-nightly: name: Windows (${{ matrix.swift.swift_version }}) @@ -231,9 +228,4 @@ jobs: - name: Run matrix job if: ${{ matrix.swift.enabled }} run: | - docker run --env SWIFT_VERSION="${{ matrix.swift.swift_version }}" --env COMMAND="$env:INPUTS_MATRIX_WINDOWS_COMMAND" --env COMMAND_OVERRIDE_NIGHTLY_6_1="$env:INPUTS_MATRIX_WINDOWS_NIGHTLY_6_1_COMMAND_OVERRIDE" --env COMMAND_OVERRIDE_NIGHTLY_MAIN="$env:INPUTS_MATRIX_WINDOWS_NIGHTLY_MAIN_COMMAND_OVERRIDE" -v ${{ github.workspace }}:C:\source ${{ matrix.swift.image }} cmd /s /c "swift --version & cd C:\source\ & powershell -File __check-matrix-job.ps1" - - env: - INPUTS_MATRIX_WINDOWS_COMMAND: ${{ inputs.matrix_windows_command }} - INPUTS_MATRIX_WINDOWS_NIGHTLY_6_1_COMMAND_OVERRIDE: ${{ inputs.matrix_windows_nightly_6_1_command_override }} - INPUTS_MATRIX_WINDOWS_NIGHTLY_MAIN_COMMAND_OVERRIDE: ${{ inputs.matrix_windows_nightly_main_command_override }} + docker run --env SWIFT_VERSION="${{ matrix.swift.swift_version }}" --env COMMAND="${{ inputs.matrix_windows_command }}" --env COMMAND_OVERRIDE_NIGHTLY_6_1="${{ inputs.matrix_windows_nightly_6_1_command_override }}" --env COMMAND_OVERRIDE_NIGHTLY_MAIN="${{ inputs.matrix_windows_nightly_main_command_override }}" -v ${{ github.workspace }}:C:\source ${{ matrix.swift.image }} cmd /s /c "swift --version & cd C:\source\ & powershell -File __check-matrix-job.ps1" diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index e6c66f0c4a..c82442b356 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -164,8 +164,8 @@ jobs: - id: generate-matrix run: | # Validate and use JSON environment variables directly - linux_env_vars_json='${MATRIX_LINUX_ENV_VARS}' - windows_env_vars_json='${MATRIX_WINDOWS_ENV_VARS}' + linux_env_vars_json='${{ inputs.linux_env_vars }}' + windows_env_vars_json='${{ inputs.windows_env_vars }}' # Validate JSON format if ! echo "$linux_env_vars_json" | jq empty 2>/dev/null; then @@ -198,7 +198,6 @@ jobs: MATRIX_LINUX_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_6_1_arguments_override }} ${{ inputs.linux_nightly_next_arguments_override }} MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }} MATRIX_LINUX_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_main_arguments_override }} - MATRIX_LINUX_ENV_VARS: ${{ inputs.linux_env_vars }} MATRIX_WINDOWS_COMMAND: "swift test" MATRIX_WINDOWS_6_0_ENABLED: ${{ inputs.windows_6_0_enabled }} MATRIX_WINDOWS_6_0_COMMAND_ARGUMENTS: ${{ inputs.windows_6_0_arguments_override }} @@ -210,7 +209,6 @@ jobs: MATRIX_WINDOWS_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_6_1_arguments_override }} ${{ inputs.windows_nightly_next_arguments_override }} MATRIX_WINDOWS_NIGHTLY_MAIN_ENABLED: ${{ inputs.windows_nightly_main_enabled }} MATRIX_WINDOWS_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_main_arguments_override }} - MATRIX_WINDOWS_ENV_VARS: ${{ inputs.windows_env_vars }} unit-tests: name: Unit tests diff --git a/.github/workflows/wasm_swift_sdk.yml b/.github/workflows/wasm_swift_sdk.yml index 156b9b3b3b..f4932ecc43 100644 --- a/.github/workflows/wasm_swift_sdk.yml +++ b/.github/workflows/wasm_swift_sdk.yml @@ -29,7 +29,7 @@ jobs: - id: generate-matrix run: | # Validate and use JSON environment variables directly - env_vars_json='${INPUTS_ENV_VARS}' + env_vars_json='${{ inputs.env_vars }}' # Validate JSON format if ! echo "$env_vars_json" | jq empty 2>/dev/null; then @@ -49,15 +49,12 @@ jobs: "image":"ubuntu:jammy", "setup_command":"apt update -q && apt install -y -q curl jq tar && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_prerequisites.sh | bash && curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/install_swift_sdk.sh | INSTALL_SWIFT_BRANCH=main INSTALL_SWIFT_ARCH=x86_64 INSTALL_SWIFT_SDK=wasm-sdk bash && hash -r", "command":"curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/swift-build-with-wasm-sdk.sh | bash -s --", - "command_arguments":"${INPUTS_ADDITIONAL_COMMAND_ARGUMENTS}", + "command_arguments":"${{ inputs.additional_command_arguments }}", "env":'"$env_vars_json"' } ] }' | jq -c) EOM - env: - INPUTS_ENV_VARS: ${{ inputs.env_vars }} - INPUTS_ADDITIONAL_COMMAND_ARGUMENTS: ${{ inputs.additional_command_arguments }} wasm-swift-sdk: name: WebAssembly Swift SDK