diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..a3efb823 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,83 @@ +name: Build +on: push +jobs: + binaries-linux-x86_64: + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + set -e + sudo apt-get update && sudo apt-get install -y ninja-build + wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 17 + cmake -B build-release -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_COMPILER=clang++-17 + cmake -B build-debug -S . -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_COMPILER=clang++-17 + ninja -C build-release install + ninja -C build-debug install + - name: Binaries + uses: actions/upload-artifact@v4 + with: + name: linux-x86_64 + path: ${{ github.workspace }}/dist + + binaries-windows-x86: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + shell: cmd + run: | + choco install llvm --version 17.0.6 --no-progress -y + choco install ninja --no-progress -y + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat" + set CXXFLAGS=-m32 + cmake -B build-release -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + cmake -B build-debug -S . -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + ninja -C build-release install + ninja -C build-debug install + - name: Binaries + uses: actions/upload-artifact@v4 + with: + name: windows-x86 + path: ${{ github.workspace }}/dist + + binaries-windows-x86_64: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + shell: cmd + run: | + choco install llvm --version 17.0.6 --no-progress -y + choco install ninja --no-progress -y + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + cmake -B build-release -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + cmake -B build-debug -S . -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH=sse2 -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + ninja -C build-release install + ninja -C build-debug install + - name: Binaries + uses: actions/upload-artifact@v4 + with: + name: windows-x86_64 + path: ${{ github.workspace }}/dist + + binaries-macos-x86_64: + runs-on: macos-13 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + brew install ninja + cmake -B build-release -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH=sse41 + cmake -B build-debug -S . -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH=sse41 + ninja -C build-release install + ninja -C build-debug install + - name: Binaries + uses: actions/upload-artifact@v4 + with: + name: macos-x86_64 + path: ${{ github.workspace }}/dist diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 43cf8820..b603f207 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,19 +1,174 @@ -name: Tests +name: Test on: push jobs: - ubuntu22-gcc11: + ubuntu22-clang17-x86_64: runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Tests - run: ci/run.sh build-release -DKFR_ARCH=target -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release + env: + SDE_LINUX: ${{ secrets.SDE_LINUX }} + TMP_DIR: ${{ runner.temp }} + run: | + set -e + sudo apt-get update && sudo apt-get install -y ninja-build + wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 17 + curl -o "$TMP_DIR/sde.tar.bz2" -L "$SDE_LINUX" + mkdir "$TMP_DIR/sde-bin" + tar -C "$TMP_DIR/sde-bin" -xjf "$TMP_DIR/sde.tar.bz2" --strip 1 + sudo ln -s $TMP_DIR/sde-bin/sde64 /usr/bin/sde + 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 - ubuntu22-clang14: + ubuntu22-clang17-arm: runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Tests - run: ci/run.sh build-release -DKFR_ARCH=target -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release + run: | + set -e + sudo apt-get update && sudo apt-get install -y ninja-build g++-arm-linux-gnueabihf qemu qemu-system-arm qemu-user + wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 17 + ci/run.sh build-release -DENABLE_EXAMPLES=OFF -DCLANG_SUFFIX=-17 -DCMAKE_BUILD_TYPE=Release -DGCC_VER=11 -DCMAKE_TOOLCHAIN_FILE=../cmake/arm.cmake + ubuntu22-clang17-arm64: + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + run: | + set -e + sudo apt-get update && sudo apt-get install -y ninja-build g++-aarch64-linux-gnu qemu qemu-system-arm qemu-user + wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s - 17 + ci/run.sh build-release -DENABLE_EXAMPLES=OFF -DCLANG_SUFFIX=-17 -DCMAKE_BUILD_TYPE=Release -DGCC_VER=11 -DCMAKE_TOOLCHAIN_FILE=../cmake/aarch64.cmake + + ubuntu22-gcc13-x86_64: + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + run: | + sudo apt-get update && sudo apt-get install -y ninja-build g++-13 + ci/run.sh build-release -DKFR_ARCH=target -DCMAKE_CXX_COMPILER=g++-13 -DCMAKE_BUILD_TYPE=Release + + windows2022-clang17-x86: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + env: + SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} + TMP_DIR: ${{ runner.temp }} + shell: cmd + run: | + choco install llvm --version 17.0.6 --no-progress -y + choco install ninja --no-progress -y + curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% + "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat" + set CXXFLAGS=-m32 + set PATH=C:\sde;%PATH% + 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" + + windows2022-clang17-x86_64: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + env: + SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} + TMP_DIR: ${{ runner.temp }} + shell: cmd + run: | + choco install llvm --version 17.0.6 --no-progress -y + choco install ninja --no-progress -y + curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% + "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + set PATH=C:\sde;%PATH% + 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" + + windows2022-msvc2022-x86: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + env: + SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} + TMP_DIR: ${{ runner.temp }} + shell: cmd + run: | + choco install ninja --no-progress -y + curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% + "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat" + set PATH=C:\sde;%PATH% + 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 + + windows2022-msvc2022-x86_64: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + env: + SDE_WINDOWS: ${{ secrets.SDE_WINDOWS }} + TMP_DIR: ${{ runner.temp }} + shell: cmd + run: | + choco install ninja --no-progress -y + curl -o "%TMP_DIR%/sde.zip" -L %SDE_WINDOWS% + "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "%TMP_DIR%/sde.zip" + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + set PATH=C:\sde;%PATH% + 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 + + windows2022-clang-android-arm: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + shell: cmd + run: | + choco install ninja --no-progress -y + 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 + + windows2022-clang-android-arm64: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + shell: cmd + run: | + choco install ninja --no-progress -y + 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 + + macos13-xcode14-x86_64: + runs-on: macos-13 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + run: | + set -e + brew install ninja + 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 + + macos13-xcode14-ios-arm64: + runs-on: macos-13 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + run: | + set -e + brew install ninja + 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 diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index bb6fcd15..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,324 +0,0 @@ -jobs: -- job: Windows_MSVC_x86_64_AVX512_Clang16_Release - timeoutInMinutes: 180 - pool: - vmImage: 'windows-2019' - steps: - - script: | - choco install ninja - choco install llvm - - curl -o "$(Agent.TempDirectory)/sde.zip" -L $(SDE_URL_WINDOWS) - "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "$(Agent.TempDirectory)/sde.zip" - - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - set PATH=%PATH:C:\tools\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% - set PATH=%PATH:C:\Strawberry\c\bin;=% - set PATH=C:\sde;%PATH% - 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" - -- job: Windows_MSVC_x86_AVX512_Clang16_Release - timeoutInMinutes: 180 - pool: - vmImage: 'windows-2019' - steps: - - script: | - choco install ninja - choco install llvm - - curl -o "$(Agent.TempDirectory)/sde.zip" -L $(SDE_URL_WINDOWS) - "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "$(Agent.TempDirectory)/sde.zip" - - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars32.bat" - set PATH=%PATH:C:\tools\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% - set PATH=%PATH:C:\Strawberry\c\bin;=% - set PATH=C:\sde;%PATH% - set CXXFLAGS=-m32 - 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" - -- job: Linux_x86_64_Clang8 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-20.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build clang-8 - curl -o "$(Agent.TempDirectory)/sde.tar.bz2" -L $(SDE_URL_LINUX) - mkdir "$(Agent.TempDirectory)/sde-bin" - tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 - sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - 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++-8 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_x86_64_Clang10 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-20.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build clang-10 - ci/run.sh build-release -DKFR_ARCH=avx2 -DCMAKE_CXX_COMPILER=clang++-10 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_x86_64_Clang12 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-20.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build clang-12 - curl -o "$(Agent.TempDirectory)/sde.tar.bz2" -L $(SDE_URL_LINUX) - mkdir "$(Agent.TempDirectory)/sde-bin" - tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 - sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - 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++-12 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_x86_64_Clang14 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-22.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build clang-14 - curl -o "$(Agent.TempDirectory)/sde.tar.bz2" -L $(SDE_URL_LINUX) - mkdir "$(Agent.TempDirectory)/sde-bin" - tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 - sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - 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++-14 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_x86_64_GCC7 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-20.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build gcc-7 g++-7 - ci/run.sh build-release -DKFR_ARCH=avx -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-7 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_x86_64_GCC8 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-20.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build gcc-8 g++-8 - curl -o "$(Agent.TempDirectory)/sde.tar.bz2" -L $(SDE_URL_LINUX) - mkdir "$(Agent.TempDirectory)/sde-bin" - tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 - sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DKFR_USE_SDE=ON -DKFR_ARCH=avx -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-8 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_x86_64_GCC10 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-22.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build gcc-10 g++-10 - curl -o "$(Agent.TempDirectory)/sde.tar.bz2" -L $(SDE_URL_LINUX) - mkdir "$(Agent.TempDirectory)/sde-bin" - tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 - sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2,avx512 -DKFR_USE_SDE=ON -DKFR_ARCH=avx2 -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_x86_64_GCC12 - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-22.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build gcc-12 g++-12 - curl -o "$(Agent.TempDirectory)/sde.tar.bz2" -L $(SDE_URL_LINUX) - mkdir "$(Agent.TempDirectory)/sde-bin" - tar -C "$(Agent.TempDirectory)/sde-bin" -xjf "$(Agent.TempDirectory)/sde.tar.bz2" --strip 1 - sudo ln -s $(Agent.TempDirectory)/sde-bin/sde64 /usr/bin/sde - ci/run.sh build-release -DKFR_ARCH_TESTS=sse2,sse3,sse41,avx,avx2 -DKFR_USE_SDE=ON -DKFR_ARCH=avx2 -DKFR_ENABLE_DFT=OFF -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_BUILD_TYPE=Release - -- job: Linux_ARM_Clang12_Release - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-20.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build g++-arm-linux-gnueabihf qemu qemu-system-arm qemu-user clang-12 - ci/run.sh build-release -DENABLE_TESTS=ON -DENABLE_EXAMPLES=OFF -DCLANG_SUFFIX=-12 -DCMAKE_BUILD_TYPE=Release -DGCC_VER=9 -DCMAKE_TOOLCHAIN_FILE=../cmake/arm.cmake - -- job: Linux_ARM64_Clang12_Release - timeoutInMinutes: 180 - pool: - vmImage: 'ubuntu-20.04' - steps: - - bash: | - set -e - sudo apt-get update && sudo apt-get install -y ninja-build g++-aarch64-linux-gnu qemu qemu-system-arm qemu-user clang-12 - ci/run.sh build-release -DENABLE_TESTS=ON -DENABLE_EXAMPLES=OFF -DCLANG_SUFFIX=-12 -DCMAKE_BUILD_TYPE=Release -DGCC_VER=9 -DCMAKE_TOOLCHAIN_FILE=../cmake/aarch64.cmake - -- job: macOSBigSur_x86_64_Clang_Release - timeoutInMinutes: 180 - pool: - vmImage: 'macOS-11' - steps: - - bash: | - set -e - /bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.1.app/Contents/Developer" - brew install ninja - ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH_TESTS=sse41,avx -DKFR_ARCH=detect -DKFR_ENABLE_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release - -- job: macOS15_x86_64_Clang_Release - timeoutInMinutes: 180 - strategy: - matrix: - xcode12: - XCODE_VER: 12.4 - xcode11: - XCODE_VER: 11.7 - pool: - vmImage: 'macOS-11' - steps: - - bash: | - set -e - /bin/bash -c "sudo xcode-select -s /Applications/Xcode_$(XCODE_VER).app/Contents/Developer" - brew install ninja - ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH_TESTS=sse42,avx -DKFR_ARCH=detect -DKFR_ENABLE_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release - -- job: macOS_x86_64_Clang_Release - timeoutInMinutes: 180 - strategy: - matrix: - xcode11: - XCODE_VER: 13.2.1 - xcode10: - XCODE_VER: 12.5.1 - pool: - vmImage: 'macOS-11' - steps: - - bash: | - set -e - - curl -o "$(Agent.TempDirectory)/sde.tar.xz" -L $(SDE_URL_MACOS3) - mkdir -p "$(Agent.TempDirectory)/sde-bin" - tar -C "$(Agent.TempDirectory)/sde-bin" -xJf "$(Agent.TempDirectory)/sde.tar.xz" --strip 1 - export PATH=$PATH:$(Agent.TempDirectory)/sde-bin - sde64 -help || true - - sudo security authorizationdb write system.privilege.taskport allow - - sde64 -chip_check_exe_only -- $(Agent.TempDirectory)/sde-bin/intel64/nullapp - - /bin/bash -c "sudo xcode-select -s /Applications/Xcode_$(XCODE_VER).app/Contents/Developer" - brew install ninja - ci/run.sh build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_USE_SDE=ON -DKFR_ARCH_TESTS=sse42,avx,avx2,avx512 -DKFR_ARCH=sse42 -DKFR_ENABLE_MULTIARCH=ON -DCMAKE_BUILD_TYPE=Release - -- job: iOS_ARM_Clang_Release - timeoutInMinutes: 180 - pool: - vmImage: 'macOS-11' - steps: - - bash: | - set -e - brew install ninja - ci/run.sh build-release -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake -DCMAKE_BUILD_TYPE=Release -DIOS_PLATFORM=OS -DIOS_ARCH=armv7 -DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja -DKFR_SKIP_TESTS=ON - -- job: iOS_ARM64_Clang_Release - timeoutInMinutes: 180 - pool: - vmImage: 'macOS-11' - steps: - - bash: | - set -e - brew install ninja - ci/run.sh build-release -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake -DCMAKE_BUILD_TYPE=Release -DIOS_PLATFORM=OS64 -DIOS_ARCH=arm64 -DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja -DKFR_SKIP_TESTS=ON - -- job: Android_ARMv7_Clang11_Release - timeoutInMinutes: 180 - pool: - vmImage: 'windows-2019' - steps: - - script: | - choco install ninja - echo y > "%TMP%\always_yes" - echo y >> "%TMP%\always_yes" - mkdir "%USERPROFILE%\.android" - echo > "%USERPROFILE%\.android\repositories.cfg" - call "%ANDROID_HOME%\tools\bin\sdkmanager.bat" "ndk-bundle" < %TMP%\always_yes - ci\run.cmd build-release -DCMAKE_TOOLCHAIN_FILE="%ANDROID_HOME%\ndk-bundle\build\cmake\android.toolchain.cmake" -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=TRUE -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release - -- job: Android_AArch64_Clang11_Release - timeoutInMinutes: 180 - pool: - vmImage: 'windows-2019' - steps: - - script: | - choco install ninja - echo y > "%TMP%\always_yes" - echo y >> "%TMP%\always_yes" - mkdir "%USERPROFILE%\.android" - echo > "%USERPROFILE%\.android\repositories.cfg" - call "%ANDROID_HOME%\tools\bin\sdkmanager.bat" "ndk-bundle" < %TMP%\always_yes - ci\run.cmd build-release -DCMAKE_TOOLCHAIN_FILE="%ANDROID_HOME%\ndk-bundle\build\cmake\android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_ARM_NEON=TRUE -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release - -- job: Windows_MSVC_x86_64_AVX512_MSVC2019_Release - timeoutInMinutes: 180 - pool: - vmImage: 'windows-2019' - steps: - - script: | - choco uninstall mingw - choco install ninja - - curl -o "$(Agent.TempDirectory)/sde.zip" -L $(SDE_URL_WINDOWS) - "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "$(Agent.TempDirectory)/sde.zip" - - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - set PATH=%PATH:C:\tools\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\LLVM\bin;=% - set PATH=%PATH:C:\Strawberry\c\bin;=% - set PATH=C:\sde;%PATH% - ci\run.cmd build-release -DKFR_ARCH_TESTS=ON -DKFR_USE_SDE=ON -DKFR_ARCH=avx512 -DKFR_ENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release - -- job: Windows_MSVC_x86_AVX512_MSVC2019_Release - timeoutInMinutes: 180 - pool: - vmImage: 'windows-2019' - steps: - - script: | - choco uninstall mingw - choco install ninja - - curl -o "$(Agent.TempDirectory)/sde.zip" -L $(SDE_URL_WINDOWS) - "C:\Program Files\7-Zip\7z.exe" x -oC:\sde "$(Agent.TempDirectory)/sde.zip" - - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars32.bat" - set PATH=%PATH:C:\tools\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\LLVM\bin;=% - set PATH=%PATH:C:\Strawberry\c\bin;=% - set PATH=C:\sde;%PATH% - ci\run.cmd build-release -DKFR_ARCH_TESTS=OFF -DKFR_USE_SDE=ON -DKFR_ARCH=avx512 -DKFR_ENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release - -- job: Windows_MSVC2022_x86_64_Release - timeoutInMinutes: 180 - pool: - vmImage: 'windows-2022' - steps: - - script: | - choco uninstall mingw - choco install ninja - - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - set PATH=%PATH:C:\tools\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\Git\mingw64\bin;=% - set PATH=%PATH:C:\Program Files\LLVM\bin;=% - set PATH=%PATH:C:\Strawberry\c\bin;=% - set JOBS=-j2 - ci\run.cmd build-release -DKFR_ARCH_TESTS=sse2,sse42,avx,avx2 -DKFR_ARCH=sse2 -DKFR_ENABLE_DFT=OFF -DCMAKE_BUILD_TYPE=Release