Skip to content

Merge pull request #492 from usefulness/renovate/gradle.starter #1368

Merge pull request #492 from usefulness/renovate/gradle.starter

Merge pull request #492 from usefulness/renovate/gradle.starter #1368

Workflow file for this run

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@v3
with:
fetch-depth: 0
- name: set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 20
- 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/gradle-build-action@v2
- run: ./gradlew projectCodestyle
- run: ./gradlew assemble
- run: ./gradlew check
- run: ./gradlew projectCoverage
- uses: codecov/codecov-action@v3
- name: Upload test results
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: test-results
path: "${{ github.workspace }}/**/build/reports/tests"
- name: Upload jacoco report
uses: actions/upload-artifact@v3
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 }}
provide-agp-version-matrix:
runs-on: ubuntu-latest
outputs:
agp-versions: ${{ steps.build-agp-matrix.outputs.agp-versions }}
steps:
- id: agp-version-finder
uses: usefulness/agp-version-finder-action@v1
- id: build-agp-matrix
run: echo 'agp-versions=["${{ steps.agp-version-finder.outputs.latest-stable }}", "${{ steps.agp-version-finder.outputs.latest-beta }}", "${{ steps.agp-version-finder.outputs.latest-alpha }}"]' >> $GITHUB_OUTPUT
build-all-sample-apps:
runs-on: ubuntu-latest
needs:
- provide-agp-version-matrix
strategy:
fail-fast: false
matrix:
javaVersion: [ 17, 20 ]
gradle: [ release-candidate ]
agp: ${{ fromJSON(needs.provide-agp-version-matrix.outputs.agp-versions) }}
include:
- javaVersion: 11
gradle: 7.5
agp: 7.4.1
- javaVersion: 17
gradle: current
agp: 7.4.1
- javaVersion: 19
gradle: current
agp: 7.4.1
name: Run Gradle-${{ matrix.gradle }}, AGP-${{ matrix.agp }}, Java-${{ matrix.javaVersion }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: set up JDK
uses: actions/setup-java@v3
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: android-actions/setup-android@v2
- uses: gradle/gradle-build-action@v2
- name: Pre-compile plugin
run: ./gradlew publishToMavenLocal -Pgroup=com.project.starter.local
- uses: gradle/gradle-build-action@v2
with:
build-root-directory: sample
gradle-version: ${{ matrix.gradle }}
arguments: assemble lint -PuseMavenLocal -PagpVersion=${{ matrix.agp }}
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, 20 ]
os: [ ubuntu-latest, windows-latest, macos-latest ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: set up JDK
uses: actions/setup-java@v3
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/gradle-build-action@v2
with:
build-root-directory: sample
gradle-version: current
arguments: assembleDebug --configuration-cache
icons-test:
runs-on: macos-latest
strategy:
matrix:
apiVersion: [ 28 ]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 20
- 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/gradle-build-action@v2
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version-file: '.python-version'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install 'Pillow==9.1.1'
- 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@v3
with:
name: failedScreenshots
path: "${{ github.workspace }}/**/build/failedScreenshots"
- name: Upload screenshot tests result
uses: actions/upload-artifact@v3
with:
name: screenshots
path: "${{ github.workspace }}/**/build/*AndroidTest/"