From dd655e732e50ccb66b7f800edc4a7b165a2f774b Mon Sep 17 00:00:00 2001 From: Vincent Rabaud Date: Mon, 15 Apr 2024 14:00:24 +0200 Subject: [PATCH] Add rav1e and libsharpyuv --- ...ows-vcpkg.yml => ci-windows-installed.yml} | 59 ++++++++----------- 1 file changed, 24 insertions(+), 35 deletions(-) rename .github/workflows/{ci-windows-vcpkg.yml => ci-windows-installed.yml} (58%) diff --git a/.github/workflows/ci-windows-vcpkg.yml b/.github/workflows/ci-windows-installed.yml similarity index 58% rename from .github/workflows/ci-windows-vcpkg.yml rename to .github/workflows/ci-windows-installed.yml index 8ffb5e0955..a2af3ad7fe 100644 --- a/.github/workflows/ci-windows-vcpkg.yml +++ b/.github/workflows/ci-windows-installed.yml @@ -1,6 +1,8 @@ # This is a copy of ci-windows.yml for installed dependencies. It defers in the following ways: # # * vcpkg is used to install dependencies that are packaged +# * cargo is used for rav1e +# * TODO: use proper installations of libgav1, libsharpyuv and SVT once released. name: CI Windows Installed on: [push, pull_request] @@ -14,7 +16,7 @@ concurrency: cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: - build-static: + build-windows-installed: runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -26,33 +28,22 @@ jobs: - name: Setup Visual Studio shell if: runner.os == 'Windows' uses: egor-tensin/vs-shell@9a932a62d05192eae18ca370155cf877eecc2202 # v2.1 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 - with: - python-version: '3.x' - - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1.0.7 - with: - profile: minimal - toolchain: stable - override: true - - - name: Cache external dependencies - id: cache-ext - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 - with: - path: ext, build/_deps - key: ${{ runner.os }}-vcpkg-${{ hashFiles('cmake/Modules/*', 'ext/*.cmd', 'ext/*.sh') }} - - name: Install cargo-c - run: | - $LINK = "https://github.com/lu-zero/cargo-c/releases/latest/download" - $CARGO_C_FILE = "cargo-c-windows-msvc" - curl -LO "$LINK/$CARGO_C_FILE.zip" - 7z e -y "$CARGO_C_FILE.zip" -o"${env:USERPROFILE}\.cargo\bin" - name: Print cmake version run: cmake --version - - uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 - uses: seanmiddleditch/gha-setup-ninja@8b297075da4cd2a5f1fd21fe011b499edf06e9d2 # v4 - name: Print ImageMagick version run: magick --version + - name: Install rav1e + run: | + $LINK = "https://github.com/xiph/rav1e/releases/download/v0.7.1" + $FILE = "rav1e-0.7.1-windows-msvc-generic" + curl -LO "$LINK/$FILE.zip" + 7z e -y "$FILE.zip" -o"${{ github.workspace }}\tmp" + mkdir -p ${{ github.workspace }}\vcpkg\installed\x64-windows-release\ + ls ${{ github.workspace }}\tmp\rav1e-windows-msvc-sdk\* + mv ${{ github.workspace }}\tmp\rav1e-windows-msvc-sdk\* ${{ github.workspace }}\vcpkg\installed\x64-windows-release + ls ${{ github.workspace }}\vcpkg\installed\* + ls ${{ github.workspace }}\vcpkg\installed\x64-windows-release\* - name: vcpkg build uses: johnwason/vcpkg-action@v6 id: vcpkg @@ -62,14 +53,20 @@ jobs: token: ${{ github.token }} github-binarycache: true cache-key: ${{ hashFiles('cmake/Modules/*', 'ext/*.cmd', 'ext/*.sh') }} + - name: Install rav1e + run: | + ls ${{ github.workspace }}\tmp\rav1e-windows-msvc-sdk\* + ls ${{ github.workspace }}\vcpkg\installed\* + ls ${{ github.workspace }}\vcpkg\installed\x64-windows-release\* + ls ${{ github.workspace }}\vcpkg\installed\x64-windows-release\lib\* + ls ${{ github.workspace }}\vcpkg\installed\x64-windows\lib\* - name: Prepare libavif (cmake) run: > - cmake .. ${{ steps.vcpkg.outputs.vcpkg-cmake-config }} -G Ninja -S ./ -B build + cmake ${{ steps.vcpkg.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=LOCAL -DAVIF_CODEC_SVT=LOCAL - -DAVIF_CODEC_LIBGAV1=LOCAL - -DAVIF_JPEG=SYSTEM -DAVIF_LIBSHARPYUV=LOCAL -DAVIF_LIBXML2=SYSTEM + -DAVIF_CODEC_RAV1E=SYSTEM + -DAVIF_JPEG=SYSTEM -DAVIF_LIBSHARPYUV=OFF -DAVIF_LIBXML2=SYSTEM -DAVIF_LIBYUV=SYSTEM -DAVIF_ZLIBPNG=SYSTEM -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON -DAVIF_BUILD_TESTS=ON -DAVIF_ENABLE_GTEST=ON -DAVIF_GTEST=LOCAL @@ -78,14 +75,6 @@ jobs: -DAVIF_ENABLE_EXPERIMENTAL_AVIR=ON -DAVIF_ENABLE_EXPERIMENTAL_SAMPLE_TRANSFORM=ON -DAVIF_ENABLE_WERROR=ON - - name: Cache cargo registry - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 - continue-on-error: true - with: - path: ~/.cargo/registry/cache - key: cargo-registry-${{ runner.os }}-${{ hashFiles('ext/rav1e/Cargo.lock') }}- - restore-keys: | - cargo-registry-${{ runner.os }}- - name: Build libavif (ninja) working-directory: ./build run: ninja