name: CI Unix Static
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:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest]
        build-type: [Release, Debug]
        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 (linux)
      if: matrix.os == 'ubuntu-latest'
      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: Install cargo-c (mac)
      if: matrix.os == 'macos-latest'
      env:
        LINK: https://github.com/lu-zero/cargo-c/releases/latest/download
        CARGO_C_FILE: cargo-c-macos.zip
      run: |
        curl -sLo $CARGO_C_FILE $LINK/$CARGO_C_FILE
        unzip -o $CARGO_C_FILE -d ~/.cargo/bin
        rm $CARGO_C_FILE

    - name: Setup cmake
      uses: jwlawson/actions-setup-cmake@959f1116cf9f1ae42fff8ec1a4aaae6d4a0e348b # v2.0.1
      with:
        # CMake version 3.18 is required to build libxml2.
        cmake-version: '3.18.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: Print ImageMagick version
      run: convert --version
    - name: Prepare libavif (cmake)
      run: >
        mkdir build && cd build

        cmake .. -G Ninja
        -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DBUILD_SHARED_LIBS=OFF
        -DAVIF_CODEC_AOM=LOCAL -DAVIF_CODEC_DAV1D=LOCAL
        -DAVIF_CODEC_RAV1E=LOCAL -DAVIF_CODEC_SVT=LOCAL
        -DAVIF_CODEC_LIBGAV1=LOCAL
        -DAVIF_LIBSHARPYUV=LOCAL -DAVIF_LIBXML2=LOCAL -DAVIF_LIBYUV=LOCAL
        -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
        -DAVIF_BUILD_TESTS=ON -DAVIF_ENABLE_GTEST=ON -DAVIF_GTEST=LOCAL
        -DAVIF_ENABLE_EXPERIMENTAL_YCGCO_R=ON
        -DAVIF_ENABLE_EXPERIMENTAL_GAIN_MAP=ON
        -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') }}-unix-static
        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
