name: Redis

on:
  workflow_dispatch:
  push:
    branches:
      - main
    paths-ignore:
      - '.github/**'
  pull_request:
    branches:
      - main

jobs:
  build:

    services:
      mongodb:
        image: redis
        ports:
        - 6379:6379

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        java: [1.8, 11]
      fail-fast: false

    steps:
    - uses: actions/checkout@v2
    - name: Setup JDK
      uses: actions/setup-java@v1
      with:
        java-version: ${{ matrix.java }}
    - name: Build with Gradle
      run: ./gradlew clean build -x docsZip -x distZip -PstatemachineIncludeTags=redis -PstatemachineTestResults=true
    - name: Tar Build Logs
      if: ${{ failure() }}
      run: |
        mkdir -p build
        tar -zc --ignore-failed-read --file build/buildlogs.tar.gz */build/reports */*/build/reports
    - name: Upload Build Logs
      if: ${{ failure() }}
      uses: actions/upload-artifact@v2
      with:
        name: buildlogs
        path: build/buildlogs.tar.gz
