[java] add a practice test suite to simulate real world usage (#344) #214
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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: Java | |
on: | |
push: | |
branches: [ main ] | |
paths: | |
- 'java/**' | |
pull_request: | |
branches: [ main ] | |
paths: | |
- 'java/**' | |
workflow_dispatch: | |
jobs: | |
formatting-main: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: axel-op/googlejavaformat-action@v3 | |
with: | |
args: "--replace" | |
files: "java/main/**/*.java" | |
skip-commit: true | |
- name: Print diffs | |
run: git --no-pager diff --exit-code | |
formatting-junit4: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: axel-op/googlejavaformat-action@v3 | |
with: | |
args: "--replace" | |
files: "java/junit4/**/*.java" | |
skip-commit: true | |
- name: Print diffs | |
run: git --no-pager diff --exit-code | |
formatting-junit5: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: axel-op/googlejavaformat-action@v3 | |
with: | |
args: "--replace" | |
files: "java/junit5/**/*.java" | |
skip-commit: true | |
- name: Print diffs | |
run: git --no-pager diff --exit-code | |
formatting-testng: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: axel-op/googlejavaformat-action@v3 | |
with: | |
args: "--replace" | |
files: "java/testng/**/*.java" | |
skip-commit: true | |
- name: Print diffs | |
run: git --no-pager diff --exit-code | |
main: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
profile: [enabled, disabled] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Remove driver directories | |
run: | | |
sudo rm -rf $CHROMEWEBDRIVER $EDGEWEBDRIVER $GECKOWEBDRIVER | |
- name: Sauce (${{ matrix.profile }}) | |
env: | |
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
run: cd java/main && mvn clean test -Psauce-${{ matrix.profile }} -Dmaven.javadoc.skip=true | |
junit4: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Remove driver directories | |
run: | | |
sudo rm -rf $CHROMEWEBDRIVER $EDGEWEBDRIVER $GECKOWEBDRIVER | |
- name: Install main bindings snapshot | |
run: cd java/main && mvn clean package install -DskipTests -Dgpg.skip=true | |
- name: Test with Maven | |
env: | |
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
run: cd java/junit4 && mvn clean test -Dmaven.javadoc.skip=true | |
junit5: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
profile: [enabled, disabled] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Remove driver directories | |
run: | | |
sudo rm -rf $CHROMEWEBDRIVER $EDGEWEBDRIVER $GECKOWEBDRIVER | |
- name: Setup Fluxbox and Xvfb | |
run: | | |
sudo apt-get -y install fluxbox | |
Xvfb :99 & | |
fluxbox -display :99 & | |
echo "DISPLAY=:99" >> "$GITHUB_ENV" | |
- name: Install main bindings snapshot | |
run: cd java/main && mvn clean package install -DskipTests -Dgpg.skip=true | |
- name: Sauce (${{ matrix.profile }}) | |
env: | |
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
run: cd java/junit5 && mvn clean test -Psauce-${{ matrix.profile }} -Dmaven.javadoc.skip=true | |
testng: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Remove driver directories | |
run: | | |
sudo rm -rf $CHROMEWEBDRIVER $EDGEWEBDRIVER $GECKOWEBDRIVER | |
- name: Install main bindings snapshot | |
run: cd java/main && mvn clean package install -DskipTests -Dgpg.skip=true | |
- name: Test with Maven | |
env: | |
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | |
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | |
run: cd java/testng && mvn clean test -Dmaven.javadoc.skip=true |