mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-11-15 00:32:06 +01:00
5dd08fc215
Set RECEIVER_NOT_EXPORTED when registering the receiver in ServerPingWithAlarmManager, as otherwise this will throw an exception if the application targets Android API level 34 or higher. This requires raising the minimum Android API level to 26 for registerReceiver() with flags.
96 lines
2.5 KiB
YAML
96 lines
2.5 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
name: Build Smack
|
|
|
|
runs-on: ubuntu-24.04
|
|
strategy:
|
|
matrix:
|
|
java:
|
|
- 17
|
|
- 21
|
|
env:
|
|
PRIMARY_JAVA_VERSION: 21
|
|
|
|
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@v3
|
|
- name: Install Android SDK
|
|
run: |
|
|
sdkmanager "platforms;android-26"
|
|
|
|
# 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: Aggregated Jacoco Test Coverage Report
|
|
if: ${{ matrix.java == env.PRIMARY_JAVA_VERSION }}
|
|
run: |
|
|
./gradlew smack-java11-full:testCodeCoverageReport
|
|
|
|
# Coveralls
|
|
- name: Report coverage stats to Coveralls
|
|
if: ${{ matrix.java == env.PRIMARY_JAVA_VERSION }}
|
|
uses: coverallsapp/github-action@v2
|
|
with:
|
|
format: jacoco
|
|
file: smack-java11-full/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml
|
|
|
|
# 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
|