# Memory sanitizer needs to be in its own file because it is slower than other sanitizers.
name: CI Linux Static Sanitized Memory
on:
  push:
  pull_request:
    paths:
      - ".github/actions/**"
      - ".github/workflows/ci-unix-static-sanitized-memory.yml"

permissions:
  contents: read

jobs:
  build-static-local-sanitized-memory:
    runs-on: ubuntu-latest

    env:
      CC: clang
      CXX: clang++

    name: build-static-local-sanitized-memory (ubuntu)

    steps:
      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
      - uses: ./.github/actions/setup-linux
        id: setup_linux
        with:
          codec-aom: "LOCAL"
          codec-dav1d: "LOCAL"
          libyuv: "LOCAL"
          extra-cache-key: memory
      - id: cache-hit
        run: echo "hit=${{ steps.setup_linux.outputs.ext-cache-hit == 'true' }}" >> "$GITHUB_OUTPUT"

      - name: Build cxx and cxxabi
        run: |
          # clone LLVM
          git clone --depth=1 --branch llvmorg-19.1.7  https://github.com/llvm/llvm-project
          # configure cmake
          cmake -G Ninja -S llvm-project/runtimes -B llvm-project/msan_out \
                  -DCMAKE_BUILD_TYPE=Release \
                  -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
                  -DCMAKE_C_COMPILER=clang \
                  -DCMAKE_CXX_COMPILER=clang++ \
                  -DLLVM_USE_SANITIZER=MemoryWithOrigins \
                  -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
          # build the libraries
          cmake --build llvm-project/msan_out --config Release -- cxx cxxabi unwind
      - name: Set FLAGS for memory sanitizer
        run: |
          echo "CI_CFLAGS=-fsanitize=memory -L${{ github.workspace }}/llvm-project/msan_out/lib -I${{ github.workspace }}/llvm-project/msan_out/include"  >> $GITHUB_ENV
          echo "CI_CXXFLAGS=-fsanitize=memory -stdlib=libc++ -L${{ github.workspace }}/llvm-project/msan_out/lib -I${{ github.workspace }}/llvm-project/msan_out/include -I${{ github.workspace }}/llvm-project/msan_out/include/c++/v1"  >> $GITHUB_ENV
          echo "CI_LDFLAGS=-fsanitize=memory -L${{ github.workspace }}/llvm-project/msan_out/lib -lc++abi"  >> $GITHUB_ENV
          echo "CI_LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ github.workspace }}/llvm-project/msan_out/lib" >> $GITHUB_ENV

      - name: Build jpeg
        if: ${{ steps.cache-hit.outputs.hit == 'false' }}
        working-directory: ./ext
        run: |
          sed -i -e 's/cmake -G \(.*\)/cmake -G \1 -DWITH_SIMD=OFF/g' libjpeg.cmd
          ./libjpeg.cmd
        env:
          CFLAGS: ${{ env.CI_CFLAGS }}
          CXXFLAGS: ${{ env.CI_CXXFLAGS }}
          LDFLAGS: ${{ env.CI_LDFLAGS }}
          LD_LIBRARY_PATH: ${{ env.CI_LD_LIBRARY_PATH }}

      - name: Build aom
        if: ${{ steps.cache-hit.outputs.hit == 'false' }}
        working-directory: ./ext
        run: |
          sed -i -e 's/cmake -G \(.*\)/cmake -G \1 -DAOM_TARGET_CPU=generic -DSANITIZE=memory/g' aom.cmd
          ./aom.cmd
        env:
          CFLAGS: ${{ env.CI_CFLAGS }}
          CXXFLAGS: ${{ env.CI_CXXFLAGS }}
          LDFLAGS: ${{ env.CI_LDFLAGS }}
          LD_LIBRARY_PATH: ${{ env.CI_LD_LIBRARY_PATH }}

      - name: Build dav1d
        if: ${{ steps.cache-hit.outputs.hit == 'false' }}
        working-directory: ./ext
        run: |
          sed -i -e 's/meson setup \(.*\)/meson setup \1 -Db_sanitize=memory -Db_lundef=false -Denable_asm=false/g' dav1d.cmd
          ./dav1d.cmd
        env:
          CFLAGS: ${{ env.CI_CFLAGS }}
          CXXFLAGS: ${{ env.CI_CXXFLAGS }}
          LIBRARY_PATH: ${{ env.CI_LD_LIBRARY_PATH }}

      - name: Prepare libavif (cmake)
        run: >
          cmake -G Ninja -S . -B build
          -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=OFF
          -DAVIF_CODEC_AOM=LOCAL -DAVIF_CODEC_DAV1D=LOCAL
          -DAVIF_JPEG=LOCAL -DAVIF_LIBSHARPYUV=LOCAL
          -DAVIF_LIBYUV=LOCAL -DAVIF_ZLIBPNG=LOCAL
          -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
          -DAVIF_BUILD_TESTS=ON -DAVIF_GTEST=LOCAL
        env:
          CFLAGS: ${{ env.CI_CFLAGS }}
          CXXFLAGS: ${{ env.CI_CXXFLAGS }}
          LDFLAGS: ${{ env.CI_LDFLAGS }}
      - name: Build libavif
        run: cmake --build build --config RelWithDebInfo --parallel 4
      - name: Run AVIF Tests
        working-directory: ./build
        run: ctest -j $(getconf _NPROCESSORS_ONLN) --output-on-failure
        env:
          MSAN_OPTIONS: allocator_may_return_null=1
          LD_LIBRARY_PATH: ${{ env.CI_LD_LIBRARY_PATH }}
