name: LLVM Tests

on:
  push:
    branches:
      - 'release/**'
    paths:
      - 'llvm/**'
      - '.github/workflows/llvm-tests.yml'
  pull_request:
    paths:
      - 'llvm/**'
      - '.github/workflows/llvm-tests.yml'

jobs:
  build_llvm:
    name: llvm check-all
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - windows-latest
          - macOS-latest
    steps:
    - name: Setup Windows
      if: startsWith(matrix.os, 'windows')
      uses: llvm/actions/setup-windows@main
      with:
        arch: amd64
    - name: Install Ninja
      uses: llvm/actions/install-ninja@main
    - uses: actions/checkout@v1
      with:
        fetch-depth: 250
    - name: Test llvm
      uses: llvm/actions/build-test-llvm-project@main
      with:
        cmake_args: -G Ninja -DCMAKE_BUILD_TYPE=Release

  abi-dump-setup:
    runs-on: ubuntu-latest
    outputs:
      BASELINE_REF: ${{ steps.vars.outputs.BASELINE_REF }}
      ABI_HEADERS: ${{ steps.vars.outputs.ABI_HEADERS }}
      BASELINE_VERSION_MAJOR: ${{ steps.vars.outputs.BASELINE_VERSION_MAJOR }}
      LLVM_VERSION_MAJOR: ${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
      LLVM_VERSION_MINOR: ${{ steps.version.outputs.LLVM_VERSION_MINOR }}
      LLVM_VERSION_PATCH: ${{ steps.version.outputs.LLVM_VERSION_PATCH }}
    steps:
      - name: Checkout source
        uses: actions/checkout@v1
        with:
          fetch-depth: 250

      - name: Get LLVM version
        id: version
        uses: llvm/actions/get-llvm-version@main

      - name: Setup Variables
        id: vars
        run: |
          if [ ${{ steps.version.outputs.LLVM_VERSION_MINOR }} -ne 0 -o ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
            echo ::set-output name=BASELINE_VERSION_MAJOR::$(( ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} - 1))
            echo ::set-output name=ABI_HEADERS::llvm-c
          else
            echo ::set-output name=BASELINE_VERSION_MAJOR::${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
            echo ::set-output name=ABI_HEADERS::.
          fi

  abi-dump:
    needs: abi-dump-setup
    runs-on: ubuntu-latest
    strategy:
      matrix:
        name:
          - build-baseline
          - build-latest
        include:
          - name: build-baseline
            llvm_version_major: ${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MAJOR }}
            ref: llvmorg-${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MAJOR }}.0.0
            repo: llvm/llvm-project
          - name: build-latest
            llvm_version_major: ${{ needs.abi-dump-setup.outputs.LLVM_VERSION_MAJOR }}
            ref: ${{ github.sha }}
            repo: ${{ github.repository }}
    steps:
    - name: Install Ninja
      uses: llvm/actions/install-ninja@main
    - name: Install abi-compliance-checker
      run: |
        sudo apt-get install abi-dumper autoconf pkg-config
    - name: Install universal-ctags
      run: |
        git clone https://github.com/universal-ctags/ctags.git
        cd ctags
        ./autogen.sh
        ./configure
        sudo make install
    - name: Download source code
      uses: llvm/actions/get-llvm-project-src@main
      with:
        ref: ${{ matrix.ref }}
        repo: ${{ matrix.repo }}
    - name: Configure
      run: |
        mkdir install
        cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="" -DLLVM_BUILD_LLVM_DYLIB=ON -DCMAKE_C_FLAGS_DEBUG="-g -Og" -DCMAKE_CXX_FLAGS_DEBUG="-g -Og" -DCMAKE_INSTALL_PREFIX=`pwd`/install llvm
    - name: Build
      # Need to run install-LLVM twice to ensure the symlink is installed (this is a bug).
      run: |
        ninja -C build install-LLVM
        ninja -C build install-LLVM
        ninja -C build install-llvm-headers
    - name: Dump ABI
      run: |
        if [ "${{ needs.abi-dump-setup.outputs.ABI_HEADERS }}" = "llvm-c" ]; then
          nm ./install/lib/libLLVM.so | awk "/T _LLVM/ || /T LLVM/ { print $3 }" | sort -u | sed -e "s/^_//g" | cut -d ' ' -f 3 > llvm.symbols
          # Even though the -symbols-list option doesn't seem to filter out the symbols, I believe it speeds up processing, so I'm leaving it in.
          export EXTRA_ARGS="-symbols-list llvm.symbols"
        else
          touch llvm.symbols
        fi
        abi-dumper $EXTRA_ARGS -lver ${{ matrix.ref }} -skip-cxx -public-headers ./install/include/${{ needs.abi-dump-setup.outputs.ABI_HEADERS }} -o ${{ matrix.ref }}.abi ./install/lib/libLLVM.so
        # Remove symbol versioning from dumps, so we can compare across major versions.
        sed -i 's/LLVM_${{ matrix.llvm_version_major }}/LLVM_NOVERSION/' ${{ matrix.ref }}.abi
        tar -czf ${{ matrix.ref }}.abi.tar.gz ${{ matrix.ref }}.abi
    - name: Upload ABI file
      uses: actions/upload-artifact@v1
      with:
        name: ${{ matrix.name }}
        path: ${{ matrix.ref }}.abi.tar.gz

    - name: Upload symbol list file
      if: matrix.name == 'build-baseline'
      uses: actions/upload-artifact@v1
      with:
        name: symbol-list
        path: llvm.symbols

  abi-compare:
    runs-on: ubuntu-latest
    needs:
      - abi-dump-setup
      - abi-dump
    steps:
      - name: Download baseline
        uses: actions/download-artifact@v1
        with:
          name: build-baseline
      - name: Download latest
        uses: actions/download-artifact@v1
        with:
          name: build-latest
      - name: Download symbol list
        uses: actions/download-artifact@v1
        with:
          name: symbol-list

      - name: Install abi-compliance-checker
        run: sudo apt-get install abi-compliance-checker
      - name: Compare ABI
        run: |
          if [ -s symbol-list/llvm.symbols ]; then
            # This option doesn't seem to work with the ABI dumper, so passing it here.
            export EXTRA_ARGS="-symbols-list symbol-list/llvm.symbols"
          fi
          abi-compliance-checker $EXTRA_ARGS -l libLLVM.so -old build-baseline/*.tar.gz -new build-latest/*.tar.gz || test "${{ needs.abi-dump-setup.outputs.ABI_HEADERS }}" = "llvm-c"
      - name: Upload ABI Comparison
        if: always()
        uses: actions/upload-artifact@v1
        with:
          name: compat-report-${{ github.sha }}
          path: compat_reports/
