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: [OFF, LOCAL] # On top of enabling AV2 codecs.
        include:
          - runs-on: ubuntu-latest
            compiler: gcc
            gcc: 13

    steps:
    - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
    - name: Set GCC & G++ compiler (on Linux)
      if: runner.os == 'Linux'
      run: echo "CC=gcc-${{matrix.gcc}}" >> $GITHUB_ENV && echo "CXX=g++-${{matrix.gcc}}" >> $GITHUB_ENV
    - 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: Install cargo-c
      env:
        LINK: https://github.com/lu-zero/cargo-c/releases/latest/download
        CARGO_C_FILE: cargo-c-x86_64-unknown-linux-musl.tar.gz
      run: |
        curl -L $LINK/$CARGO_C_FILE | tar xz -C ~/.cargo/bin
    - name: Cache external dependencies
      id: cache-ext
      uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
      with:
        path: ext, build/_deps
        key: ${{ runner.os }}-${{ matrix.also-enable-av1-codec }}-unix-static-av2-${{ hashFiles('cmake/Modules/*', 'ext/*.cmd', 'ext/*.sh') }}
    - name: Setup cmake
      uses: jwlawson/actions-setup-cmake@959f1116cf9f1ae42fff8ec1a4aaae6d4a0e348b # v2.0.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@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1
    - uses: seanmiddleditch/gha-setup-ninja@8b297075da4cd2a5f1fd21fe011b499edf06e9d2 # v4
    - run: pip install meson

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

        cmake .. -G Ninja
        -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
        -DAVIF_CODEC_AVM=LOCAL
        -DAVIF_CODEC_DAV1D=${{ matrix.also-enable-av1-codecs }}
        -DAVIF_CODEC_RAV1E=${{ matrix.also-enable-av1-codecs }}
        -DAVIF_CODEC_SVT=${{ matrix.also-enable-av1-codecs }}
        -DAVIF_LIBYUV=LOCAL
        -DAVIF_LIBSHARPYUV=LOCAL
        -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
        -DAVIF_BUILD_TESTS=ON -DAVIF_ENABLE_GTEST=ON -DAVIF_GTEST=LOCAL
        -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') }}-unix-static-av2
        restore-keys: |
          cargo-registry-${{ runner.os }}-${{ hashFiles('ext/rav1e/Cargo.lock') }}-
          cargo-registry-${{ runner.os }}-
    - 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./third_party/iccjpeg -I./include apps/avifenc.c \
          apps/shared/*.c third_party/iccjpeg/iccjpeg.c build/libavif.a \
          -lpng -ljpeg -lz -lm -ldl -lstdc++

        ./avifenc --help
