name: Linux

on: [push, pull_request]

jobs:
  build:
    name: ${{matrix.os}}-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.gpu}}
    runs-on: ubuntu-latest
    container: ${{matrix.os}}
    defaults:
      run:
        shell: bash -e -o pipefail {0}
    env:
      CCACHE_DIR: ${{github.workspace}}/ccache
      CMAKE_GENERATOR: Ninja
      DEBIAN_FRONTEND: noninteractive
    strategy:
      fail-fast: true
      matrix:
        os:
          - ubuntu:24.04
          - ubuntu:26.04
        build_type:
          - Release
        lib:
          - shared
          - static
        gpu:
          - cuda
          - no-cuda
        include:
          - os: ubuntu:24.04
            cudss: 1.0.0.35_cuda12
          - os: ubuntu:26.04
            cudss: 1.0.0.35_cuda13

    steps:
      - name: Setup Dependencies
        run: |
          apt-get update
          apt-get install -y \
            build-essential \
            ccache \
            cmake \
            git \
            libbenchmark-dev \
            libblas-dev \
            libeigen3-dev \
            liblapack-dev \
            libmetis-dev \
            libsuitesparse-dev \
            ninja-build \
            wget

      - uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Setup CUDA Toolkit Repositories (24.04)
        if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:24.04'
        run: |
          wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
          dpkg -i cuda-keyring_1.1-1_all.deb

      - name: Setup CUDA Toolkit Repositories (26.04)
        if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:26.04'
        run: |
          wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64/cuda-keyring_1.1-1_all.deb
          dpkg -i cuda-keyring_1.1-1_all.deb

      - name: Setup CUDA Toolkit (24.04)
        if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:24.04'
        run: |
          apt-get update
          apt-get install -y nvidia-cuda-toolkit
          echo "CUDACXX=/usr/lib/nvidia-cuda-toolkit/bin/nvcc" >> $GITHUB_ENV

      - name: Setup CUDA Toolkit (26.04)
        if: matrix.gpu == 'cuda' && matrix.os == 'ubuntu:26.04'
        run: |
          apt-get update
          apt-get install -y \
            cuda-minimal-build-13-3 \
            cuda-nvrtc-dev-13-3 \
            libcublas-dev-13-3 \
            libcusolver-dev-13-3 \
            libcusparse-dev-13-3 \
            libnvjitlink-dev-13-3
          ldconfig
          echo "CUDACXX=/usr/local/cuda-13.3/bin/nvcc" >> $GITHUB_ENV

      - name: Cache cuDSS
        if: matrix.gpu == 'cuda'
        id: cache-cudss
        uses: actions/cache@v4
        with:
          path: libcudss-linux-x86_64-${{matrix.cudss}}-archive/
          key: ${{matrix.os}}-cudss-${{matrix.cudss}}

      - name: Setup cuDSS
        if: matrix.gpu == 'cuda' && steps.cache-cudss.outputs.cache-hit != 'true'
        run: |
          wget https://developer.download.nvidia.com/compute/cudss/redist/libcudss/linux-x86_64/libcudss-linux-x86_64-${{matrix.cudss}}-archive.tar.xz
          tar -xf libcudss-linux-x86_64-${{matrix.cudss}}-archive.tar.xz

      - name: Setup cuDSS Environment
        if: matrix.gpu == 'cuda'
        run: |
          echo "cudss_DIR=${{github.workspace}}/libcudss-linux-x86_64-${{matrix.cudss}}-archive/lib/cmake/cudss" >> $GITHUB_ENV

      - name: Cache Mold
        id: cache-mold
        uses: actions/cache@v4
        with:
          path: mold-2.36.0-x86_64-linux/
          key: mold-2.36.0

      - name: Setup Mold
        if: steps.cache-mold.outputs.cache-hit != 'true'
        run: |
          wget https://github.com/rui314/mold/releases/download/v2.36.0/mold-2.36.0-x86_64-linux.tar.gz
          tar xvf mold-2.36.0-x86_64-linux.tar.gz

      - name: Cache Build
        id: cache-build
        uses: actions/cache@v4
        with:
          path: ${{env.CCACHE_DIR}}
          key: ${{matrix.os}}-ccache-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.gpu}}-${{github.run_id}}
          restore-keys: ${{matrix.os}}-ccache-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.gpu}}-

      - name: Setup Build Environment
        if: matrix.build_type == 'Release' && matrix.os == 'ubuntu:26.04' && matrix.lib == 'shared' && matrix.gpu == 'no-cuda'
        run: |
          echo 'CXXFLAGS=-flto=auto -Werror=odr' >> $GITHUB_ENV

      - name: Setup Runtime Environment
        run: |
          echo "${{github.workspace}}/mold-2.36.0-x86_64-linux/libexec/mold" >> $GITHUB_PATH

      - name: Configure
        run: |
          cmake -S . -B build_${{matrix.build_type}} \
                -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} \
                -DWITH_CUDA=${{matrix.gpu == 'cuda'}} \
                -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
                -DCMAKE_C_COMPILER_LAUNCHER=$(which ccache) \
                -DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \
                -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install \
                -DWITH_SUITESPARSE=ON

      - name: Build
        run: |
          cmake --build build_${{matrix.build_type}} \
                --config ${{matrix.build_type}}

      - name: Test
        if: matrix.gpu == 'no-cuda'
        run: |
          cd build_${{matrix.build_type}}/
          ctest --build-config ${{matrix.build_type}} \
                --output-on-failure \
                -j$(nproc)

      - name: Install
        run: |
          cmake --build build_${{matrix.build_type}}/ \
                --config ${{matrix.build_type}} \
                --target install
