name: CI on: [push, pull_request] jobs: build: name: Build Smack runs-on: ubuntu-22.04 strategy: matrix: java: - 11 env: PRIMARY_JAVA_VERSION: 11 steps: - name: Checkout uses: actions/checkout@v3 - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v3 with: java-version: ${{ matrix.java }} distribution: temurin # Caches - name: Cache Maven uses: actions/cache@v2 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/build.gradle') }} restore-keys: | maven- - name: Cache Gradle uses: actions/cache@v2 with: path: ~/.gradle/caches key: gradle-caches-${{ hashFiles('**/build.gradle') }} restore-keys: gradle-caches - name: Cache Android SDK uses: actions/cache@v2 with: path: | ~/.android/sdk key: android-${{ hashFiles('build.gradle') }} restore-keys: | android- # Pre-reqs - name: Install GraphViz run: sudo apt update && sudo apt install graphviz - name: Install Android SDK Manager uses: android-actions/setup-android@v2 - name: Install Android SDK run: | sdkmanager "platforms;android-19" # Testing - name: Gradle Check run: ./gradlew check --stacktrace # Test local publish - name: Gradle publish run: ./gradlew publishToMavenLocal --stacktrace # Javadoc - name: Javadoc if: ${{ matrix.java == env.PRIMARY_JAVA_VERSION }} run: ./gradlew javadocAll --stacktrace # Test Coverage Report - name: Jacoco Test Coverage if: ${{ matrix.java == env.PRIMARY_JAVA_VERSION }} run: ./gradlew jacocoRootReport coveralls env: COVERALLS_REPO_TOKEN: S2ecSJja2cKJa9yv45C8ZFPohXuRrTXKd # Upload build artifacts - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: smack-java-${{ matrix.java }} path: | smack-*/build/libs/*.jar !**/*-test-fixtures.jar !**/*-tests.jar