name: Build TsFile wheels(multi-platform)

on:
  push:
    branches:
      - "rc/**"
  workflow_dispatch:

jobs:
  build:
    name: Build wheels on ${{ matrix.name }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        include:
          - name: linux-x86_64
            os: ubuntu-22.04
            platform: linux
            cibw_archs_linux: "x86_64"

          - name: linux-aarch64
            os: ubuntu-22.04-arm
            platform: linux
            cibw_archs_linux: "aarch64"

          - name: macos-x86_64
            os: macos-15-intel
            platform: macos
            cibw_archs_macos: "x86_64"

          - name: macos-arm64
            os: macos-latest 
            platform: macos
            cibw_archs_macos: "arm64"
#          Windows is handled by the build-windows job below
    
    steps:
      - name: Checkout
        uses: actions/checkout@v7
        with:
          submodules: false
          fetch-depth: 0

      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: "3.11"
      
      - name: Set up Java 17
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: "17"

      - name: Install system deps (macOS)
        if: matrix.platform == 'macos'
        run: |
          set -eux
          brew update
          brew install pkg-config || true

      - name: Install build tools
        run: |
          python -m pip install -U pip wheel
          python -m pip install cibuildwheel==3.4.1

      - name: Pre-download virtualenv for cibuildwheel
        run: |
          if [ "$(uname)" = "Darwin" ]; then
            CACHE_DIR="$HOME/Library/Caches/cibuildwheel"
          else
            CACHE_DIR="$HOME/.cache/cibuildwheel"
          fi
          mkdir -p "$CACHE_DIR"
          TARGET="$CACHE_DIR/virtualenv-20.26.6.pyz"
          if [ ! -f "$TARGET" ]; then
            curl -sSL --retry 5 --retry-delay 15 --retry-all-errors \
              -o "$TARGET" \
              "https://github.com/pypa/get-virtualenv/raw/20.26.6/public/virtualenv.pyz"
          fi
          ls -la "$TARGET"

      
      - name: Build C++ core via Maven (macOS)
        if: matrix.platform == 'macos'
        shell: bash
        env:
          MACOSX_DEPLOYMENT_TARGET: "12.0"
          CFLAGS: "-mmacosx-version-min=12.0"
          CXXFLAGS: "-mmacosx-version-min=12.0"
          LDFLAGS: "-mmacosx-version-min=12.0"
        run: |
          set -euxo pipefail
          chmod +x mvnw || true
          ./mvnw -Pwith-cpp clean package \
            -DskipTests -Dspotless.check.skip=true -Dspotless.apply.skip=true \
            -Dbuild.test=OFF \
            -Dcmake.args="-DCMAKE_OSX_DEPLOYMENT_TARGET=12.0"
          otool -l cpp/target/build/lib/libtsfile*.dylib | grep -A2 LC_VERSION_MIN_MACOSX || true
            
      - name: Build wheels via cibuildwheel
        if: matrix.platform != 'macos'
        env: 
          CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs_linux }}
#          CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_archs_windows }}

          CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*"
          CIBW_SKIP: "pp* *-musllinux*"

          CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28"
          CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28"

          MACOSX_DEPLOYMENT_TARGET: "12.0"

          CIBW_BEFORE_ALL_LINUX: |
            set -euxo pipefail
            if command -v yum >/dev/null 2>&1; then
              yum install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel
            else
              echo "Not a yum-based image?" ; exit 1
            fi
            ARCH="$(uname -m)"
            mkdir -p /opt/java
            if [ "$ARCH" = "x86_64" ]; then
              JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz"
            else
              # aarch64
              JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-aarch64_bin.tar.gz"
            fi
            curl -L -o /tmp/jdk17.tar.gz "$JDK_URL"
            tar -xzf /tmp/jdk17.tar.gz -C /opt/java
            export JAVA_HOME=$(echo /opt/java/jdk-17.0.12*)
            export PATH="$JAVA_HOME/bin:$PATH"
            java -version

            chmod +x mvnw || true
            ./mvnw -Pwith-cpp clean package \
              -DskipTests -Dbuild.test=OFF \
              -Dspotless.check.skip=true -Dspotless.apply.skip=true
            test -d cpp/target/build/lib && test -d cpp/target/build/include
                
          CIBW_TEST_COMMAND: >
            python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok:')"
          CIBW_BUILD_VERBOSITY: "1"
        run: cibuildwheel --output-dir wheelhouse python
      
      - name: Build wheels via cibuildwheel (macOS)
        if: matrix.platform == 'macos'
        env:
          CIBW_ARCHS_MACOS: ${{ matrix.cibw_archs_macos }}
          CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*"
#          CIBW_BUILD: "cp313-*"
          CIBW_SKIP: "pp*"
          CIBW_ENVIRONMENT_MACOS: "MACOSX_DEPLOYMENT_TARGET=12.0"
          MACOSX_DEPLOYMENT_TARGET: "12.0"
          CIBW_TEST_COMMAND: >
            python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok:')"
          CIBW_BUILD_VERBOSITY: "1"
        run: cibuildwheel --output-dir wheelhouse python

      - name: Upload wheels as artifact
        uses: actions/upload-artifact@v7
        with:
          name: tsfile-wheels-${{ matrix.name }}
          path: wheelhouse/*.whl

  # ── Windows: build C++ once, then build wheels for each Python version ──
  build-windows-cpp:
    name: Build C++ core (Windows)
    runs-on: windows-2022
    steps:
      - name: Checkout
        uses: actions/checkout@v7
        with:
          submodules: false
          fetch-depth: 0

      - name: Set up Java 17
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: "17"

      - name: Set up MSYS2 / MinGW
        uses: msys2/setup-msys2@v2
        with:
          msystem: MINGW64
          update: true
          install: >-
            mingw-w64-x86_64-gcc
            mingw-w64-x86_64-cmake
            mingw-w64-x86_64-make
            make

      - name: Build C++ core via Maven
        shell: msys2 {0}
        run: |
          set -euxo pipefail
          export JAVA_HOME="$(cygpath "$JAVA_HOME")"
          export PATH="$JAVA_HOME/bin:$PATH"
          java -version
          chmod +x mvnw || true
          ./mvnw -Pwith-cpp clean package \
            -DskipTests -Dbuild.test=OFF \
            -Dspotless.check.skip=true -Dspotless.apply.skip=true
          test -d cpp/target/build/lib
          test -d cpp/target/build/include
          cp /mingw64/bin/libstdc++-6.dll cpp/target/build/lib/
          cp /mingw64/bin/libgcc_s_seh-1.dll cpp/target/build/lib/
          cp /mingw64/bin/libwinpthread-1.dll cpp/target/build/lib/

      - name: Upload C++ build output
        uses: actions/upload-artifact@v7
        with:
          name: tsfile-cpp-windows
          path: |
            cpp/target/build/lib/
            cpp/target/build/include/

  build-windows-wheels:
    name: Build wheel (Windows, Python ${{ matrix.python-version }})
    needs: build-windows-cpp
    runs-on: windows-2022
    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
    steps:
      - name: Checkout
        uses: actions/checkout@v7
        with:
          submodules: false
          fetch-depth: 0

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python-version }}

      - name: Set up Java 17
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: "17"

      - name: Set up MSYS2 / MinGW
        uses: msys2/setup-msys2@v2
        with:
          msystem: MINGW64
          update: false
          install: >-
            mingw-w64-x86_64-gcc
            mingw-w64-x86_64-make
            make

      - name: Download C++ build output
        uses: actions/download-artifact@v8
        with:
          name: tsfile-cpp-windows
          path: cpp/target/build/

      - name: Verify C++ artifacts exist
        shell: msys2 {0}
        run: |
          set -euxo pipefail
          ls -laR cpp/target/build/lib/
          ls -laR cpp/target/build/include/
          test -f cpp/target/build/lib/libtsfile.dll
          test -f cpp/target/build/lib/libtsfile.dll.a
          test -f cpp/target/build/lib/libstdc++-6.dll
          test -f cpp/target/build/lib/libgcc_s_seh-1.dll
          test -f cpp/target/build/lib/libwinpthread-1.dll

      - name: Build wheel
        shell: msys2 {0}
        run: |
          set -euxo pipefail
          export JAVA_HOME="$(cygpath "$JAVA_HOME")"
          export PYTHON_HOME="$(cygpath "$pythonLocation")"
          export PATH="/mingw64/bin:$PYTHON_HOME:$PYTHON_HOME/Scripts:$JAVA_HOME/bin:$PATH"

          # Build wheel via Maven (no clean — keep C++ artifacts from previous job)
          chmod +x mvnw || true
          cd python
          BLACK_VER_PROP=""
          case "${{ matrix.python-version }}" in
            3.9) BLACK_VER_PROP="-Dblack.version=25.11.0" ;;
          esac
          ../mvnw package -DskipTests -Dmaven.test.skip=true \
            -Dspotless.check.skip=true -Dspotless.apply.skip=true \
            ${BLACK_VER_PROP}
          ls -la dist/

      - name: Verify wheel
        shell: msys2 {0}
        run: |
          set -euxo pipefail
          export PYTHON_HOME="$(cygpath "$pythonLocation")"
          export PATH="$PYTHON_HOME:$PYTHON_HOME/Scripts:$PATH"
          python -m pip install python/dist/*.whl
          python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok')"

      - name: Upload wheel
        uses: actions/upload-artifact@v7
        with:
          name: tsfile-wheels-windows-py${{ matrix.python-version }}
          path: python/dist/*.whl
