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

env:
  DEFAULT_PACKAGES: libcmocka-dev zlib1g-dev libssh-dev libssl-dev libpam0g-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
