Build and test #70
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-test | |
run-name: Build and test | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build-ubuntu-x64-clang: | |
name: Build and test on Ubuntu x64 Clang | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build R | |
run: | | |
export CXX=clang++ | |
mkdir build_rel | |
cd build_rel | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON -DASTCENC_UNITTEST=ON -DASTCENC_PACKAGE=x64 .. | |
make install package -j4 | |
- name: Build D | |
run: | | |
export CXX=clang++ | |
mkdir build_dbg | |
cd build_dbg | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON .. | |
make -j4 | |
- name: Upload binaries | |
uses: actions/upload-artifact@v4 | |
with: | |
name: astcenc-linux-x64 | |
path: | | |
build_rel/*.zip | |
build_rel/*.zip.sha256 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Get Python modules | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy Pillow | |
- name: Python tests | |
run: | | |
python ./Test/astc_test_functional.py --encoder=none | |
python ./Test/astc_test_functional.py --encoder=sse2 | |
python ./Test/astc_test_functional.py --encoder=sse4.1 | |
python ./Test/astc_test_functional.py --encoder=avx2 | |
python ./Test/astc_test_image.py --encoder=none --test-set Small --test-quality medium | |
python ./Test/astc_test_image.py --encoder=all-x86 --test-set Small --test-quality medium | |
- name: Unit tests | |
run: ctest | |
working-directory: build_rel | |
build-ubuntu-x64-gcc: | |
name: Build and test on Ubuntu x64 GCC | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build R | |
run: | | |
export CXX=g++ | |
mkdir build_rel | |
cd build_rel | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON -DASTCENC_UNITTEST=ON -DASTCENC_PACKAGE=x64 .. | |
make install package -j4 | |
- name: Build D | |
run: | | |
export CXX=g++ | |
mkdir build_dbg | |
cd build_dbg | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON .. | |
make -j4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Get Python modules | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy Pillow | |
- name: Python rests | |
run: | | |
python ./Test/astc_test_functional.py --encoder=none | |
python ./Test/astc_test_functional.py --encoder=sse2 | |
python ./Test/astc_test_functional.py --encoder=sse4.1 | |
python ./Test/astc_test_functional.py --encoder=avx2 | |
python ./Test/astc_test_image.py --encoder=none --test-set Small --test-quality medium | |
python ./Test/astc_test_image.py --encoder=all-x86 --test-set Small --test-quality medium | |
- name: Unit tests | |
run: ctest | |
working-directory: build_rel | |
build-macos-x64-clang: | |
name: Build and test on MacOS x64 Clang | |
runs-on: macos-12 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build R | |
run: | | |
mkdir build_rel | |
cd build_rel | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNIVERSAL_BUILD=OFF -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 .. | |
make install package -j4 | |
- name: Build D | |
run: | | |
mkdir build_dbg | |
cd build_dbg | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DASTCENC_UNIVERSAL_BUILD=OFF -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON .. | |
make -j4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Get Python modules | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy Pillow | |
- name: Python tests | |
run: | | |
python ./Test/astc_test_image.py --test-set Small --test-quality medium | |
build-macos-arm64-clang: | |
name: Build and test on MacOS arm64 Clang | |
runs-on: macos-14 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build R | |
run: | | |
mkdir build_rel | |
cd build_rel | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNIVERSAL_BUILD=ON -DASTCENC_PACKAGE=x64 .. | |
make install package -j4 | |
- name: Build D | |
run: | | |
mkdir build_dbg | |
cd build_dbg | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DASTCENC_UNIVERSAL_BUILD=ON .. | |
make -j4 | |
- name: Upload binaries | |
uses: actions/upload-artifact@v4 | |
with: | |
name: astcenc-macos-universal | |
path: | | |
build_rel/*.zip | |
build_rel/*.zip.sha256 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Get Python modules | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy Pillow | |
- name: Python tests | |
run: | | |
python ./Test/astc_test_image.py --encoder=universal --test-set Small --test-quality medium | |
build-windows-x64-msvc: | |
name: Build and test on Windows x64 MSVC | |
runs-on: windows-2022 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Visual Studio x86_6 | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Build R | |
run: | | |
mkdir build_rel | |
cd build_rel | |
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 .. | |
nmake install package | |
shell: cmd | |
- name: Build D | |
run: | | |
mkdir build_dbg | |
cd build_dbg | |
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON .. | |
nmake | |
shell: cmd | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Get Python modules | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy Pillow | |
shell: cmd | |
- name: Python tests | |
run: | | |
python ./Test/astc_test_image.py --test-set Small --test-quality medium | |
shell: cmd | |
build-windows-x64-clangcl: | |
name: Build and test on Windows x64 ClangCL | |
runs-on: windows-2022 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Visual Studio x86_6 | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Build R | |
run: | | |
mkdir build_rel | |
cd build_rel | |
cmake -G "Visual Studio 17 2022" -T ClangCL -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 .. | |
msbuild astcencoder.sln -property:Configuration=Release | |
msbuild PACKAGE.vcxproj -property:Configuration=Release | |
msbuild INSTALL.vcxproj -property:Configuration=Release | |
shell: cmd | |
- name: Build D | |
run: | | |
mkdir build_dbg | |
cd build_dbg | |
cmake -G "Visual Studio 17 2022" -T ClangCL -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON .. | |
msbuild astcencoder.sln -property:Configuration=Debug | |
shell: cmd | |
- name: Upload binaries | |
uses: actions/upload-artifact@v4 | |
with: | |
name: astcenc-windows-x64 | |
path: | | |
build_rel/*.zip | |
build_rel_arm64/*.zip | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Get Python modules | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy Pillow | |
shell: cmd | |
- name: Python tests | |
run: | | |
python ./Test/astc_test_image.py --test-set Small --test-quality medium | |
shell: cmd | |
build-windows-arm64-clangcl: | |
name: Build and test on Windows arm64 ClangCL | |
runs-on: windows-2022 | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Visual Studio arm64 | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86_arm64 | |
- name: Build R | |
run: | | |
mkdir build_rel | |
cd build_rel | |
cmake -G "Visual Studio 17 2022" -A ARM64 -T ClangCL -DASTCENC_ISA_NEON=ON -DASTCENC_PACKAGE=arm64-clangcl .. | |
msbuild astcencoder.sln -property:Configuration=Release | |
msbuild PACKAGE.vcxproj -property:Configuration=Release | |
msbuild INSTALL.vcxproj -property:Configuration=Release | |
shell: cmd | |
- name: Build D | |
run: | | |
mkdir build_dbg | |
cd build_dbg | |
cmake -G "Visual Studio 17 2022" -A ARM64 -T ClangCL -DASTCENC_ISA_NEON=ON .. | |
msbuild astcencoder.sln -property:Configuration=Debug | |
shell: cmd | |
- name: Upload binaries | |
uses: actions/upload-artifact@v4 | |
with: | |
name: astcenc-windows-arm64 | |
path: | | |
build_rel/*.zip |