name: Java CI

on: [push, pull_request]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: Apt update
      run: sudo apt update

    - name: Install Java & Puppeteer's dependencies
      run: sudo apt-get install -y openjdk-11-jdk chromium-browser fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libasound2t64 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release xdg-utils wget libappindicator3-1 libgbm1

    - name: Cache Maven packages
      uses: actions/cache@v3
      with:
        path: ~/.m2
        key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
        restore-keys: ${{ runner.os }}-m2

    - name: Build with Maven
      run: |
        MAVEN_VERSION=3.8.7
        wget --retry-connrefused --tries=5 --waitretry=5 --read-timeout=20 --timeout=15 https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
        tar -xzf apache-maven-${MAVEN_VERSION}-bin.tar.gz
        export PATH=$PWD/apache-maven-${MAVEN_VERSION}/bin:$PATH
        export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 
        export PATH=$JAVA_HOME/bin:$PATH
        java -version
        mvn -version
        mvn clean verify -Pjs-test
