diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 36adbe19d..0493ad8df 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -1,29 +1,22 @@ name: xrpl4j-CI - on: push: pull_request: - types: [assigned] + types: [ assigned ] jobs: - build_java8: - runs-on: ubuntu-20.04 + build_jdk_temurin_8: + runs-on: ubuntu-latest steps: # Checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # Set up Java 8 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Cache mvn dependencies - uses: actions/cache@v4 - env: - cache-name: mvn-deps + - name: Set up JDK 8 + uses: actions/setup-java@v4 with: - path: ~/.m2 - key: ${{ env.cache-name }}-${{ hashFiles('pom.xml') }} - restore-keys: ${{ env.cache-name }}- + distribution: 'temurin' + java-version: '8' + cache: 'maven' - name: Build run: mvn dependency:go-offline install - name: Upload to Codecov @@ -32,130 +25,129 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true - build_android: - runs-on: ubuntu-20.04 + build_jdk_semeru_8: + runs-on: ubuntu-latest steps: # Checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 - # Set up Android - - name: Setup Android SDK - uses: android-actions/setup-android@v2 - - name: Cache mvn dependencies - uses: actions/cache@v4 - env: - cache-name: mvn-deps + - uses: actions/checkout@v4 + # Set up Java 8 + - name: Set up JDK 8 + uses: actions/setup-java@v4 with: - path: ~/.m2 - key: ${{ env.cache-name }}-${{ hashFiles('pom.xml') }} - restore-keys: ${{ env.cache-name }}- + distribution: 'semeru' + java-version: '8' + cache: 'maven' - name: Build - run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -Pandroid + run: mvn dependency:go-offline install + + build_jdk_zulu_8: + runs-on: ubuntu-latest + steps: + # Checks-out the repository under $GITHUB_WORKSPACE + - uses: actions/checkout@v4 + # Set up Java 8 + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '8' + cache: 'maven' + - name: Build + run: mvn dependency:go-offline install - build_other_java: - runs-on: ubuntu-20.04 + build_jdk_temurin_other: + runs-on: ubuntu-latest strategy: matrix: - # test against each major Java version - java: [ 9, 10, 11, 12, 13, 14, 15, 16, 17 ] + # test against each major Java version (Java 8 built separately above for codecov upload) + java: [ 11, 16, 17, 21 ] steps: # Checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # Set up Java version - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: + distribution: 'temurin' java-version: ${{ matrix.java }} - - name: Cache mvn dependencies - uses: actions/cache@v4 - env: - cache-name: mvn-deps - with: - path: ~/.m2 - key: ${{ env.cache-name }}-${{ hashFiles('pom.xml') }} - restore-keys: ${{ env.cache-name }}- + cache: 'maven' - name: Build run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true - build_open_jdk_non_us: - runs-on: ubuntu-20.04 + build_jdk_temurin_non_us: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - # Set up Adopt OpenJDK Hotspot 16 - - name: Set up OpenJDK 16 - uses: actions/setup-java@v1 - with: - distribution: adopt - java-version: 16 - - name: Cache mvn dependencies - uses: actions/cache@v4 - env: - cache-name: mvn-deps + - uses: actions/checkout@v4 + # Set up Temurin 21 + - name: Set up Temurin v21 + uses: actions/setup-java@v4 with: - path: ~/.m2 - key: ${{ env.cache-name }}-${{ hashFiles('pom.xml') }} - restore-keys: ${{ env.cache-name }}- + distribution: 'temurin' + java-version: 21 + cache: 'maven' # Maven install with JVM locale = de_DE - name: Build run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DargLine="-Duser.language=de -Duser.country=DE" + build_android: + runs-on: ubuntu-latest + steps: + # Checks-out the repository under $GITHUB_WORKSPACE + - uses: actions/checkout@v4 + # Set up Java 17 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '21' + cache: 'maven' + # Set up Android + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + - name: Build + run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -Pandroid + build_devnet_its: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: # Checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # Set up Java 8 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Cache mvn dependencies - uses: actions/cache@v4 - env: - cache-name: mvn-deps + - name: Set up JDK 8 + uses: actions/setup-java@v4 with: - path: ~/.m2 - key: ${{ env.cache-name }}-${{ hashFiles('pom.xml') }} - restore-keys: ${{ env.cache-name }}- + distribution: 'temurin' + java-version: '8' + cache: 'maven' - name: Build run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DuseDevnet build_testnet_reporting_its: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: # Checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # Set up Java 8 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 + - name: Set up JDK 8 + uses: actions/setup-java@v4 with: - java-version: 1.8 - - name: Cache mvn dependencies - uses: actions/cache@v4 - env: - cache-name: mvn-deps - with: - path: ~/.m2 - key: ${{ env.cache-name }}-${{ hashFiles('pom.xml') }} - restore-keys: ${{ env.cache-name }}- + distribution: 'temurin' + java-version: '8' + cache: 'maven' # setup-java v4 includes maven caching - name: Build run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DuseTestnet + build_testnet_clio_its: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: # Checks-out the repository under $GITHUB_WORKSPACE - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # Set up Java 8 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Cache mvn dependencies - uses: actions/cache@v4 - env: - cache-name: mvn-deps + - name: Set up JDK 8 + uses: actions/setup-java@v4 with: - path: ~/.m2 - key: ${{ env.cache-name }}-${{ hashFiles('pom.xml') }} - restore-keys: ${{ env.cache-name }}- + distribution: 'temurin' + java-version: '8' + cache: 'maven' - name: Build run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DuseClioTestnet -DuseClioMainnet