69 lines
2.2 KiB
YAML
69 lines
2.2 KiB
YAML
name: "Dependency Analysis"
|
|
|
|
# Run only when build.gradle file is changed
|
|
on:
|
|
workflow_dispatch:
|
|
# Allow manual triggering
|
|
# push:
|
|
# paths:
|
|
# - '**/build.gradle'
|
|
# - '**/build.gradle.kts'
|
|
# - '**/gradle.properties'
|
|
# - '**/gradle.properties.kts'
|
|
# - '**/gradle-wrapper.properties'
|
|
# - '**/gradle-wrapper.properties.kts'
|
|
# - '**/settings.gradle'
|
|
# - '**/settings.gradle.kts'
|
|
# - '**/settings.gradle.kts'
|
|
|
|
jobs:
|
|
validation:
|
|
# Skip if head commit contains 'skip da'
|
|
if: "!contains(github.event.head_commit.message, 'skip da')"
|
|
name: "Validation"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Gradle Wrapper validation
|
|
uses: gradle/wrapper-validation-action@v1
|
|
|
|
dependencyAnalysis:
|
|
# Skip if tags
|
|
if: startsWith(github.ref , 'refs/tags/') != true
|
|
name: "Dependency Analysis"
|
|
runs-on: ubuntu-latest
|
|
needs: validation
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Java
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
java-version: '17' # Adjust the Java version as needed
|
|
distribution: 'temurin'
|
|
cache: 'gradle'
|
|
|
|
- name: Make gradlew executable
|
|
run: chmod +x ./gradlew
|
|
|
|
- name: Update Gradle Wrapper to use Java 17
|
|
run: echo "org.gradle.java.home=/usr/lib/jvm/adoptopenjdk-17-hotspot-amd64" >> gradle/wrapper/gradle-wrapper.properties
|
|
|
|
- name: Cache Gradle
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
|
restore-keys: ${{ runner.os }}-gradle
|
|
|
|
- name: Generates advice from Dependency-analysis Gradle task
|
|
run: ./gradlew buildHealth
|
|
|
|
- name: Upload advice
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: dependency-advice
|
|
path: ./build/reports/dependency-analysis/
|