Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/workflows/android_swift_sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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
Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/cmake_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 2 additions & 4 deletions .github/workflows/cxx_interop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/macos_benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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 }}
Expand All @@ -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 }}
19 changes: 6 additions & 13 deletions .github/workflows/macos_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 }}
Expand Down Expand Up @@ -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
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/release_builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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 }}
Expand All @@ -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
Expand Down
9 changes: 3 additions & 6 deletions .github/workflows/static_sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"'
},
{
Expand All @@ -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
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/swift_load_test_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
12 changes: 2 additions & 10 deletions .github/workflows/swift_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }})
Expand Down Expand Up @@ -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"
6 changes: 2 additions & 4 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 }}
Expand All @@ -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
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/wasm_swift_sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
Loading