blob: eb03c607b27ba96da60f699e7e7ca1e3728efc6f [file] [log] [blame] [edit]
# This is a copy of ci-windows.yml for installed dependencies. It differs in the following ways:
#
# * vcpkg is used to install dependencies that are packaged.
# * rav1e is installed from a binary upstream.
# * TODO: use proper installations of libgav1, libsharpyuv and SVT once released.
name: CI Windows Installed
on: [push, pull_request]
permissions:
contents: read
# Cancel the workflow if a new one is triggered from the same PR, branch, or tag, except on main.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
build-windows-installed:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
compiler: [msvc, clang-cl]
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/setup-windows
id: setup
with:
codec-aom: "SYSTEM"
codec-dav1d: "SYSTEM"
codec-rav1e: "SYSTEM"
extra-cache-key: ${{ matrix.compiler }}
libjpeg-turbo: "SYSTEM"
libxml2: "SYSTEM"
libyuv: "SYSTEM"
zlibpng: "SYSTEM"
- name: Leave compiler as default
if: matrix.compiler == 'msvc'
run: |
echo "AVIF_CMAKE_C_COMPILER=-DCMAKE_C_COMPILER=cl" >> $env:GITHUB_ENV
echo "AVIF_CMAKE_CXX_COMPILER=-DCMAKE_CXX_COMPILER=cl" >> $env:GITHUB_ENV
- name: Set clang-cl as compiler
if: matrix.compiler == 'clang-cl'
run: |
echo "AVIF_CMAKE_C_COMPILER=-DCMAKE_C_COMPILER=clang-cl" >> $env:GITHUB_ENV
echo "AVIF_CMAKE_CXX_COMPILER=-DCMAKE_CXX_COMPILER=clang-cl" >> $env:GITHUB_ENV
- name: Prepare libavif (cmake)
run: >
cmake ${{ steps.setup.outputs.vcpkg-cmake-config }} -G Ninja -S . -B build
-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
-DAVIF_CODEC_AOM=SYSTEM -DAVIF_CODEC_DAV1D=SYSTEM
-DAVIF_CODEC_RAV1E=SYSTEM
-DAVIF_JPEG=SYSTEM -DAVIF_LIBXML2=SYSTEM
-DAVIF_LIBYUV=SYSTEM -DAVIF_ZLIBPNG=SYSTEM
-DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
-DAVIF_BUILD_TESTS=ON -DAVIF_GTEST=LOCAL
-DAVIF_ENABLE_EXPERIMENTAL_MINI=ON
-DAVIF_ENABLE_EXPERIMENTAL_EXTENDED_PIXI=ON
-DAVIF_ENABLE_WERROR=ON $env:AVIF_CMAKE_C_COMPILER $env:AVIF_CMAKE_CXX_COMPILER
- name: Build libavif
run: cmake --build build --config Release --parallel 4
- name: Run AVIF Tests
working-directory: ./build
run: ctest -j $Env:NUMBER_OF_PROCESSORS --output-on-failure