test.yml (8651B)
1 name: Test 2 on: push 3 jobs: 4 ubuntu22-clang17-x86_64: 5 runs-on: ubuntu-22.04 6 steps: 7 - name: Checkout 8 uses: actions/checkout@v4 9 - name: Tests 10 env: 11 SDE_LINUX: ${{ secrets.SDE_LINUX }} 12 TMP_DIR: ${{ runner.temp }} 13 run: | 14 set -e 15 sudo apt-get update && sudo apt-get install -y ninja-build 16 wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 17 17 curl -o "$TMP_DIR/sde.tar.bz2" -L "$SDE_LINUX" 18 mkdir "$TMP_DIR/sde-bin" 19 tar -C "$TMP_DIR/sde-bin" -xjf "$TMP_DIR/sde.tar.bz2" --strip 1 20 sudo ln -s $TMP_DIR/sde-bin/sde64 /usr/bin/sde 21 ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2,avx512 -DKFR_ARCH=avx2 -DKFR_USE_SDE=ON -DCMAKE_CXX_COMPILER=clang++-17 -DCMAKE_BUILD_TYPE=Release 22 23 ubuntu22-clang17-arm: 24 runs-on: ubuntu-22.04 25 steps: 26 - name: Checkout 27 uses: actions/checkout@v4 28 - name: Tests 29 run: | 30 set -e 31 sudo apt-get update && sudo apt-get install -y ninja-build g++-arm-linux-gnueabihf qemu qemu-system-arm qemu-user 32 wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 17 33 ci/run.sh build-release -DENABLE_EXAMPLES=OFF -DCLANG_SUFFIX=-17 -DCMAKE_BUILD_TYPE=Release -DGCC_VER=11 -DCMAKE_TOOLCHAIN_FILE=../cmake/arm.cmake 34 35 ubuntu22-clang17-arm64: 36 runs-on: ubuntu-22.04 37 steps: 38 - name: Checkout 39 uses: actions/checkout@v4 40 - name: Tests 41 run: | 42 set -e 43 sudo apt-get update && sudo apt-get install -y ninja-build g++-aarch64-linux-gnu qemu qemu-system-arm qemu-user 44 wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 17 45 ci/run.sh build-release -DENABLE_EXAMPLES=OFF -DCLANG_SUFFIX=-17 -DCMAKE_BUILD_TYPE=Release -DGCC_VER=11 -DCMAKE_TOOLCHAIN_FILE=../cmake/aarch64.cmake 46 47 ubuntu24-gcc13-x86_64: 48 runs-on: ubuntu-24.04 49 steps: 50 - name: Checkout 51 uses: actions/checkout@v4 52 - name: Tests 53 run: | 54 sudo apt-get update && sudo apt-get install -y ninja-build g++-13 55 ci/run.sh build-release -DKFR_ARCH=target -DCMAKE_CXX_COMPILER=g++-13 -DCMAKE_BUILD_TYPE=Release 56 57 windows2022-clang17-x86: 58 runs-on: windows-2022 59 steps: 60 - name: Checkout 61 uses: actions/checkout@v4 62 - name: Tests 63 env: 64 SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} 65 TMP_DIR: ${{ runner.temp }} 66 shell: cmd 67 run: | 68 choco install llvm --version 17.0.6 --no-progress -y 69 choco install ninja --no-progress -y 70 curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% 71 "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" 72 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat" 73 set CXXFLAGS=-m32 74 set PATH=C:\sde;%PATH% 75 ci\run.cmd build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH_TESTS=sse2,ssse3,sse42,avx,avx2,avx512 -DKFR_ENABLE_MULTIARCH=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DKFR_USE_SDE=ON -DKFR_ARCH=sse2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" 76 77 windows2022-clang17-x86_64: 78 runs-on: windows-2022 79 steps: 80 - name: Checkout 81 uses: actions/checkout@v4 82 - name: Tests 83 env: 84 SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} 85 TMP_DIR: ${{ runner.temp }} 86 shell: cmd 87 run: | 88 choco install llvm --version 17.0.6 --no-progress -y 89 choco install ninja --no-progress -y 90 curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% 91 "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" 92 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" 93 set PATH=C:\sde;%PATH% 94 ci\run.cmd build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH_TESTS=sse2,ssse3,sse42,avx,avx2,avx512 -DKFR_ENABLE_MULTIARCH=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DKFR_USE_SDE=ON -DKFR_ARCH=sse2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" 95 96 windows2022-clang17-arm64: 97 runs-on: windows-2022 98 steps: 99 - name: Checkout 100 uses: actions/checkout@v4 101 - name: Tests 102 shell: cmd 103 run: | 104 choco install llvm --version 17.0.6 --no-progress -y 105 choco install ninja --no-progress -y 106 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" 107 ci\run.cmd build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_CXX_COMPILER_TARGET=arm64-pc-windows-msvc -DKFR_ARCH=target -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" 108 109 windows2022-msvc2022-x86: 110 runs-on: windows-2022 111 steps: 112 - name: Checkout 113 uses: actions/checkout@v4 114 - name: Tests 115 env: 116 SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} 117 TMP_DIR: ${{ runner.temp }} 118 shell: cmd 119 run: | 120 choco install ninja --no-progress -y 121 curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% 122 "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" 123 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat" 124 set PATH=C:\sde;%PATH% 125 ci\run.cmd build-release -DKFR_ARCH_TESTS=sse2,ssse3,sse42,avx,avx2,avx512 -DKFR_ENABLE_MULTIARCH=ON -DKFR_USE_SDE=ON -DKFR_ARCH=sse2 -DCMAKE_BUILD_TYPE=Release 126 127 windows2022-msvc2022-x86_64: 128 runs-on: windows-2022 129 steps: 130 - name: Checkout 131 uses: actions/checkout@v4 132 - name: Tests 133 env: 134 SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} 135 TMP_DIR: ${{ runner.temp }} 136 shell: cmd 137 run: | 138 choco install ninja --no-progress -y 139 curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% 140 "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" 141 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" 142 set PATH=C:\sde;%PATH% 143 ci\run.cmd build-release -DKFR_ARCH_TESTS=sse2,ssse3,sse42,avx,avx2,avx512 -DKFR_ENABLE_MULTIARCH=ON -DKFR_USE_SDE=ON -DKFR_ARCH=sse2 -DCMAKE_BUILD_TYPE=Release 144 145 windows2022-clang-android-arm: 146 runs-on: windows-2022 147 steps: 148 - name: Checkout 149 uses: actions/checkout@v4 150 - name: Tests 151 shell: cmd 152 run: | 153 choco install ninja --no-progress -y 154 ci\run.cmd build-release -DCMAKE_MAKE_PROGRAM=C:\ProgramData\chocolatey\lib\ninja\tools\ninja.exe -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%\build\cmake\android.toolchain.cmake" -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=TRUE -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release 155 156 windows2022-clang-android-arm64: 157 runs-on: windows-2022 158 steps: 159 - name: Checkout 160 uses: actions/checkout@v4 161 - name: Tests 162 shell: cmd 163 run: | 164 choco install ninja --no-progress -y 165 ci\run.cmd build-release -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%\build\cmake\android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_ARM_NEON=TRUE -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release 166 167 macos13-xcode14-x86_64: 168 runs-on: macos-13 169 steps: 170 - name: Checkout 171 uses: actions/checkout@v4 172 - name: Tests 173 run: | 174 set -e 175 brew install ninja 176 ci/run.sh build-release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH_TESTS=sse42,avx -DKFR_ARCH=target -DCMAKE_BUILD_TYPE=Release 177 178 macos13-xcode14-arm64: 179 runs-on: macos-13 180 steps: 181 - name: Checkout 182 uses: actions/checkout@v4 183 - name: Tests 184 run: | 185 set -e 186 brew install ninja 187 ci/run.sh build-release -DCMAKE_OSX_ARCHITECTURES=arm64 -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH=target -DCMAKE_BUILD_TYPE=Release -DKFR_SKIP_TESTS=ON 188 189 macos13-xcode14-ios-arm64: 190 runs-on: macos-13 191 steps: 192 - name: Checkout 193 uses: actions/checkout@v4 194 - name: Tests 195 run: | 196 set -e 197 brew install ninja 198 ci/run.sh build-release -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake -DIOS_DEPLOYMENT_TARGET=11.0 -DCMAKE_BUILD_TYPE=Release -DIOS_PLATFORM=OS64 -DIOS_ARCH=arm64 -DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja -DKFR_SKIP_TESTS=ON