# This workflow generates artifacts such as avifenc.exe and avifdec.exe for convenience.

name: CI Windows Artifacts
on:
  release:
    types: [created]

permissions:
  contents: write

jobs:
  build-windows-artifacts:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [windows-latest]

    steps:
    - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
    - uses: ./.github/actions/setup-windows
      id: setup
      with:
        codec-aom: 'LOCAL'
        codec-dav1d: 'LOCAL'

    - name: Build aom
      if: steps.setup.outputs.ext-cache-hit != 'true'
      working-directory: ./ext
      run: ./aom.cmd
      # Visual Studio 2022 has an issue starting at 17.8.0 which might cause
      # AVX-512 instructions to be emitted in non-AVX-512 code. See
      # https://github.com/AOMediaCodec/libavif/issues/2033#issuecomment-1960062751.
      env:
        CC: clang-cl
        CXX: clang-cl
    - name: Build dav1d
      if: steps.setup.outputs.ext-cache-hit != 'true'
      working-directory: ./ext
      run: ./dav1d.cmd
    - name: Build libyuv
      if: steps.setup.outputs.ext-cache-hit != 'true'
      working-directory: ./ext
      run: ./libyuv.cmd
      # Use clang-cl to build libyuv. The assembly code in libyuv is written in the
      # GCC inline assembly format. Visual C++ doesn't support GCC inline assembly.
      env:
        CC: clang-cl
        CXX: clang-cl
    - name: Build libsharpyuv
      if: steps.setup.outputs.ext-cache-hit != 'true'
      working-directory: ./ext
      run: ./libsharpyuv.cmd
    - name: Build libjpeg
      if: steps.setup.outputs.ext-cache-hit != 'true'
      working-directory: ./ext
      run: ./libjpeg.cmd
    - name: Build zlib and libpng
      if: steps.setup.outputs.ext-cache-hit != 'true'
      working-directory: ./ext
      run: ./zlibpng.cmd

    - name: Prepare libavif (cmake)
      run: >
        cmake -G Ninja -S . -B build
        -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
        -DAVIF_CODEC_AOM=LOCAL -DAVIF_CODEC_AOM_ENCODE=ON
        -DAVIF_CODEC_AOM_DECODE=OFF -DAVIF_CODEC_DAV1D=LOCAL
        -DAVIF_LIBYUV=LOCAL -DAVIF_LIBSHARPYUV=LOCAL
        -DAVIF_JPEG=LOCAL -DAVIF_ZLIBPNG=LOCAL
        -DAVIF_BUILD_EXAMPLES=OFF -DAVIF_BUILD_APPS=ON
        -DAVIF_BUILD_TESTS=OFF -DAVIF_ENABLE_WERROR=ON
    - name: Build libavif (ninja)
      working-directory: ./build
      run: ninja
    - name: Archive artifacts
      uses: thedoctor0/zip-release@b57d897cb5d60cb78b51a507f63fa184cfe35554 # 0.7.6
      with:
        type: 'zip'
        filename: 'windows-artifacts.zip'
        directory: 'build'
        path: '*.exe'
    - name: Upload artifacts
      uses: actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 # v1.0.2
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        # See https://docs.github.com/en/webhooks/webhook-events-and-payloads#release.
        upload_url: ${{ github.event.release.upload_url }}
        asset_path: build/windows-artifacts.zip
        asset_name: windows-artifacts.zip
        asset_content_type: application/zip
