name: libnetconf2 CI
on:
  push:
    branches:
      - master
      - devel
  pull_request:
    branches:
      - master
      - devel

env:
  DEFAULT_PACKAGES: libcmocka-dev zlib1g-dev libssh-dev libssl-dev

jobs:
  git-branch:
    name: Get git branch
    runs-on: ubuntu-18.04
    outputs:
      branch-name: ${{ steps.get-git-branch.outputs.branch-name }}
    steps:
      - id: get-git-branch
        run: |
          if ${{ github.event_name == 'push' }}
            then export GIT_BRANCH=`echo ${{ github.ref }} | cut -d'/' -f 3`
          else
            export GIT_BRANCH=${{ github.base_ref }}
          fi
          echo "::set-output name=branch-name::$GIT_BRANCH"

  build:
    name: ${{ matrix.config.name }}
    runs-on: ${{ matrix.config.os }}
    needs: git-branch
    strategy:
      fail-fast: false
      matrix:
        config:
          - {
            name: "Release, Ubuntu 18.04, gcc",
            os: "ubuntu-18.04",
            build-type: "Release",
            dep-build-type: "Release",
            cc: "gcc",
            options: "-DENABLE_TESTS=ON -DENABLE_DNSSEC=ON",
            packages: "",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "Release, Ubuntu 18.04, clang",
            os: "ubuntu-18.04",
            build-type: "Release",
            dep-build-type: "Release",
            cc: "clang",
            options: "-DENABLE_TESTS=ON -DENABLE_DNSSEC=ON",
            packages: "",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "Debug, Ubuntu 18.04, gcc",
            os: "ubuntu-18.04",
            build-type: "Debug",
            dep-build-type: "Release",
            cc: "gcc",
            options: "-DENABLE_DNSSEC=ON",
            packages: "valgrind",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "Debug, Ubuntu 18.04, clang",
            os: "ubuntu-18.04",
            build-type: "Debug",
            dep-build-type: "Release",
            cc: "clang",
            options: "-DENABLE_DNSSEC=ON",
            packages: "valgrind",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "SSH Only",
            os: "ubuntu-18.04",
            build-type: "Debug",
            dep-build-type: "Release",
            cc: "gcc",
            options: "-DENABLE_TLS=OFF -DENABLE_SSH=ON",
            packages: "valgrind",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "TLS Only",
            os: "ubuntu-18.04",
            build-type: "Debug",
            dep-build-type: "Release",
            cc: "gcc",
            options: "-DENABLE_TLS=ON -DENABLE_SSH=OFF",
            packages: "valgrind",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "No SSH nor TLS",
            os: "ubuntu-18.04",
            build-type: "Debug",
            dep-build-type: "Release",
            cc: "gcc",
            options: "-DENABLE_TLS=OFF -DENABLE_SSH=OFF",
            packages: "valgrind",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "ASAN and UBSAN",
            os: "ubuntu-18.04",
            build-type: "Debug",
            dep-build-type: "Release",
            cc: "clang",
            options: "-DCMAKE_C_FLAGS=-fsanitize=address,undefined -DENABLE_VALGRIND_TESTS=OFF",
            packages: "",
            snaps: "",
            make-prepend: "",
            make-target: ""
          }
          - {
            name: "ABI Check",
            os: "ubuntu-latest",
            build-type: "ABICheck",
            dep-build-type: "Debug",
            cc: "gcc",
            options: "",
            packages: "abi-dumper abi-compliance-checker snap",
            snaps: "core universal-ctags",
            make-prepend: "",
            make-target: "abi-check"
          }

    steps:
      - uses: actions/checkout@v2

      - name: Deps-packages
        shell: bash
        run: |
          sudo add-apt-repository ppa:kedazo/libssh-0.7.x -y
          sudo apt-get update
          sudo apt-get install $DEFAULT_PACKAGES ${{ matrix.config.packages }}
          if ${{ matrix.config.snaps != '' }}
            then sudo snap refresh; sudo snap install ${{ matrix.config.snaps }}
          fi

      - name: Deps-uncrustify
        shell: bash
        working-directory: ${{ github.workspace }}
        run: |
          git clone --branch uncrustify-0.71.0 https://github.com/uncrustify/uncrustify
          cd uncrustify
          mkdir build
          cd build
          CC=${{ matrix.config.cc }} cmake ..
          make
          sudo make install
        if: ${{ matrix.config.name == 'Debug, Ubuntu 18.04, gcc' }}

      - name: Deps-libyang
        shell: bash
        run: |
          git clone -b ${{needs.git-branch.outputs.branch-name}} https://github.com/CESNET/libyang.git
          cd libyang
          mkdir build
          cd build
          CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.dep-build-type }} -DENABLE_TESTS=OFF ..
          make -j2
          sudo make install

      - name: Deps-libval
        shell: bash
        run: |
          git clone https://github.com/DNSSEC-Tools/DNSSEC-Tools.git dnssec-tools
          cd dnssec-tools/dnssec-tools/validator
          ./configure
          make -j2
          sudo make install

      - name: Configure
        shell: bash
        working-directory: ${{ github.workspace }}
        run: |
          mkdir build
          cd build
          CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.build-type }} ${{ matrix.config.options }} ..

      - name: Build
        shell: bash
        working-directory: ${{ github.workspace }}/build
        run: |
          export LC_ALL=C.UTF-8
          export PATH=/snap/bin:${{ github.workspace }}/coverity-tools/bin:$PATH
          ${{ matrix.config.make-prepend }} make ${{ matrix.config.make-target }}

      - name: Test
        shell: bash
        working-directory: ${{ github.workspace }}/build
        run: ctest --output-on-failure
