# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
# <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.

name: Test

on: [push, pull_request, workflow_dispatch]

jobs:
  Gradle:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6.0.1
    - uses: actions/setup-java@v5
      with:
        distribution: 'temurin'
        java-version: '17'
        cache: 'gradle'
    - run: gradle assemble --info
    - run: gradle test --info
    - run: java -jar build/pipeline.jar --inputText="🎉"

  sbt:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6.0.1
    - uses: actions/setup-java@v5
      with:
        distribution: 'temurin'
        java-version: '17'
    - name: Setup sbt launcher
      uses: sbt/setup-sbt@v1
    - run: sbt -v 'Test / compile' assembly
    - run: sbt -v test
    - run: java -jar build/pipeline.jar --inputText="🎉"

  Maven:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6.0.1
    - uses: actions/setup-java@v5
      with:
        distribution: 'temurin'
        java-version: '17'
        cache: 'maven'
    - run: mvn -DskipTests test-compile package
    - run: mvn test
    - run: java -jar target/beam-java-starter-1-jar-with-dependencies.jar --inputText="🎉"
