name: Coverage workflow Uploader

on:
  push:
    branches: [ "5.3.x" ]
  schedule:
    - cron:  '0 20 * * *'
  workflow_dispatch:

permissions:
  contents: read # to fetch code (actions/checkout)

jobs:
  build-and-upload-coverage:
    runs-on: ubuntu-latest
    steps:
      - name: Run hostname
        run: hostname
      - name: Fix host entry
        run: sudo echo "127.0.0.1 $(hostname)" | sudo tee -a /etc/hosts
      - name: Show hosts
        run: cat /etc/hosts
      - name: Checkout master
        uses: actions/checkout@v3
        with:
          fetch-depth: '10'
      - name: Set up JDK 8
        uses: actions/setup-java@v2
        with:
          java-version: 8
          distribution: 'temurin'
      - name: Cache Maven packages
        uses: actions/cache@v3
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2
          restore-keys: ${{ runner.os }}-m2
      - name: Build with tests
        run: mvn clean install --file pom.xml
      - name: Upload test coverage to Codecov
        uses: codecov/codecov-action@v4.0.1
        with:
          flags: unit_tests
          token: ${{ secrets.CODECOV_TOKEN }}
          slug: wso2/carbon-analytics-common
