File: ci-windows-installed.yml

package info (click to toggle)
libavif 1.4.0-4
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 21,508 kB
  • sloc: ansic: 30,721; cpp: 14,588; xml: 1,507; sh: 1,265; java: 307; makefile: 57
file content (66 lines) | stat: -rw-r--r-- 2,546 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# 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.

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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - 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