name: CI Unix Static AV2
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-static-av2:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        also-enable-av1-codecs: [ON, OFF] # On top of enabling AV2 codecs.

    steps:
    - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
    - name: Set GCC & G++ 10 compiler (on Linux)
      if: runner.os == 'Linux'
      run: echo "CC=gcc-10" >> $GITHUB_ENV && echo "CXX=g++-10" >> $GITHUB_ENV
    - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.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@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
      with:
        path: ext
        key: ${{ runner.os }}-static-av2-${{ hashFiles('ext/*.cmd') }}
    - name: Setup cmake
      uses: jwlawson/actions-setup-cmake@187efd9581ed20ee4e03c0dfb9ac2cd5896c4835 # v1.14.1
      with:
        # CMake version 3.17 is required to build libwebp (which libsharpyuv is part of) on macOS.
        cmake-version: '3.17.x'
    - name: Print cmake version
      run: cmake --version
    - uses: ilammy/setup-nasm@321e6ed62a1fc77024a3bd853deb33645e8b22c4 # v1.4.0
      with:
        version: 2.15.05
    - uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3
    - run: pip install meson
    - name: Build avm
      if: steps.cache-ext.outputs.cache-hit != 'true'
      working-directory: ./ext
      run: bash -e avm.cmd
    - name: Build dav1d
      if: steps.cache-ext.outputs.cache-hit != 'true'
      working-directory: ./ext
      run: bash -e dav1d.cmd
    - name: Build rav1e
      if: steps.cache-ext.outputs.cache-hit != 'true'
      working-directory: ./ext
      run: bash -e rav1e.cmd
    - name: Build SVT-AV1
      if: steps.cache-ext.outputs.cache-hit != 'true'
      working-directory: ./ext
      run: bash -e svt.cmd
    - name: Build libyuv
      if: steps.cache-ext.outputs.cache-hit != 'true'
      working-directory: ./ext
      run: bash -e libyuv.cmd
    - name: Build libsharpyuv
      if: steps.cache-ext.outputs.cache-hit != 'true'
      working-directory: ./ext
      run: bash -e libsharpyuv.cmd
    - name: Build GoogleTest
      if: steps.cache-ext.outputs.cache-hit != 'true'
      working-directory: ./ext
      # Note: "apt install googletest" is sometimes insufficient for find_package(GTest) so build in ext/ instead.
      run: bash -e googletest.cmd

    - name: Prepare libavif (cmake)
      run: >
        mkdir build && cd build

        cmake .. -G Ninja
        -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
        -DAVIF_CODEC_AVM=ON -DAVIF_LOCAL_AVM=ON
        -DAVIF_CODEC_DAV1D=${{ runner.also-enable-av1-codecs }} -DAVIF_LOCAL_DAV1D=ON
        -DAVIF_CODEC_RAV1E=${{ runner.also-enable-av1-codecs }} -DAVIF_LOCAL_RAV1E=ON
        -DAVIF_CODEC_SVT=${{ runner.also-enable-av1-codecs }} -DAVIF_LOCAL_SVT=ON
        -DAVIF_LOCAL_LIBYUV=ON
        -DAVIF_LOCAL_LIBSHARPYUV=ON
        -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
        -DAVIF_BUILD_TESTS=ON -DAVIF_ENABLE_GTEST=ON -DAVIF_LOCAL_GTEST=ON
    - name: Build libavif (ninja)
      working-directory: ./build
      run: ninja
    - name: Run AVIF Tests
      working-directory: ./build
      run: ctest -j $(getconf _NPROCESSORS_ONLN) --output-on-failure
    - name: Check static link bundling
      run: |
        cc -o avifenc  -I./apps/shared -I./include apps/avifenc.c apps/shared/*.c \
          build/libavif.a -lpng -ljpeg -lz -lm -ldl -lstdc++

        ./avifenc --help
