name: CI

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  Build:
    name: Build & test source code
    runs-on: ubuntu-20.04

    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Set up JDK 11
        uses: actions/setup-java@v2
        with:
          distribution: adopt
          java-version: 11

      - name: Install dependencies
        run: bash ./install_deps.sh

      - name: Compile Project
        run: ./gradlew buildHeaders build

      - name: Create code coverage report
        run: ./gradlew createCodeCoverageReport

      - name: Upload code coverage to Codecov
        uses: codecov/codecov-action@v3

      - name: Upload Coverage to GH-Actions
        uses: actions/upload-artifact@v2.2.0
        if: ${{ always() }}
        with:
            name: Tests Coverage Report
            path: |
              lib/build/coverage-report/
