Merge pull request #679 from usefulness/renovate/gradle-8.x #1876
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
name: Build project | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 21 | |
- name: Write Gradle build properties to `~/.gradle/gradle.properties` | |
run: | | |
mkdir -p ~/.gradle | |
printf "org.gradle.jvmargs=-Xmx3G -XX:+UseParallelGC\n" >> ~/.gradle/gradle.properties | |
shell: bash | |
- uses: gradle/actions/setup-gradle@v4 | |
- run: ./gradlew projectCodestyle | |
- run: ./gradlew assemble | |
- run: ./gradlew check | |
- run: ./gradlew projectCoverage | |
- name: Upload test results | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results | |
path: "${{ github.workspace }}/**/build/reports/tests" | |
- name: Upload jacoco report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: jacoco-report | |
path: "${{ github.workspace }}/**/build/reports/jacoco" | |
- run: ./gradlew publishToMavenLocal | |
- run: ./gradlew publishPlugins -m | |
- run: git diff --exit-code | |
- name: Publish to Github Package Registry | |
run: ./gradlew publish --continue | |
if: github.repository == 'usefulness/easylauncher-gradle-plugin' && github.event_name == 'push' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-all-sample-apps: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
javaVersion: [ 17, 21 ] | |
gradle: [ release-candidate ] | |
agp: [ alpha, beta, stable ] | |
include: | |
- javaVersion: 17 | |
gradle: "8.2.1" | |
agp: 8.2.2 | |
- javaVersion: 17 | |
gradle: current | |
agp: 8.2.2 | |
- javaVersion: 19 | |
gradle: current | |
agp: 8.2.2 | |
- javaVersion: 21 | |
gradle: current | |
agp: stable | |
name: Run Gradle-${{ matrix.gradle }}, AGP-${{ matrix.agp }}, Java-${{ matrix.javaVersion }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.javaVersion }} | |
- name: Write Gradle build properties to `~/.gradle/gradle.properties` | |
run: | | |
mkdir -p ~/.gradle | |
printf "org.gradle.jvmargs=-Xmx3G -XX:+UseParallelGC\n" >> ~/.gradle/gradle.properties | |
shell: bash | |
- uses: gradle/actions/setup-gradle@v4 | |
- name: Pre-compile plugin | |
run: ./gradlew publishToMavenLocal -Pgroup=com.project.starter.local | |
- id: agp-version-finder | |
uses: usefulness/agp-version-finder-action@v1 | |
with: | |
version-to-resolve: ${{ matrix.agp }} | |
- uses: gradle/actions/setup-gradle@v4 | |
with: | |
gradle-version: ${{ matrix.gradle }} | |
- run: gradle assemble lint -PuseMavenLocal -PagpVersion=${{ steps.agp-version-finder.outputs.resolved-version }} | |
working-directory: sample | |
build-sample-apps-with-configuration-cache: | |
runs-on: ${{ matrix.os }} | |
name: Configuration Cache Java-${{ matrix.javaVersion }} OS-${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
javaVersion: [ 17, 21 ] | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.javaVersion }} | |
- name: Write Gradle build properties to `~/.gradle/gradle.properties` | |
run: | | |
mkdir -p ~/.gradle | |
printf "org.gradle.jvmargs=-Xmx3G -XX:+UseParallelGC\n" >> ~/.gradle/gradle.properties | |
shell: bash | |
- uses: gradle/actions/setup-gradle@v4 | |
with: | |
gradle-version: current | |
- run: gradle assembleDebug --configuration-cache | |
working-directory: sample | |
icons-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
apiVersion: [ 28 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 21 | |
- name: Write Gradle build properties to `~/.gradle/gradle.properties` | |
run: | | |
mkdir -p ~/.gradle | |
printf "org.gradle.jvmargs=-Xmx3G -XX:+UseParallelGC\n" >> ~/.gradle/gradle.properties | |
shell: bash | |
- uses: gradle/actions/setup-gradle@v4 | |
- name: Enable KVM group perms | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- name: run tests | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: ${{ matrix.apiVersion }} | |
profile: pixel_xl | |
target: google_apis | |
arch: x86 | |
disable-spellchecker: true | |
working-directory: ./sample | |
script: ./icon_check.sh | |
- name: Upload failed screenshots | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: failedScreenshots | |
path: "**/reports/failedScreenshots" | |
- name: Upload failed screenshots | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests | |
path: "**/reports/androidTests" | |
- name: Upload screenshot tests result | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
name: screenshots | |
path: "**/reports/screenshots**AndroidTest*/" |