# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Unomi CI - Build and tests

on:
  push:
    branches: [ master, unomi-1.6.x ]
  pull_request:
    branches: [ master ]

jobs:
  build-and-tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        java: [ 1.8, 11]
    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK ${{ matrix.java }}
      uses: actions/setup-java@v1
      with:
        java-version: ${{ matrix.java }}
        cache: maven
    - name: Build and Unit tests
      run: mvn -U -B -e clean install

    - name: Integration tests
      run: mvn -pl itests clean install -Pintegration-tests
    - name: Deploy snapshots to Apache Snapshots repository
      run: mvn clean install deploy -P integration-tests,docker
