Skip to content

Latest commit

 

History

History
84 lines (62 loc) · 2.17 KB

File metadata and controls

84 lines (62 loc) · 2.17 KB

Optimize Gradle build speed using cache plugin

GitHub Workflow

.github/workflows/build-java.yml:

name: Build
on:
  push:
    branches:
      - master
      - develop
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  gradle-cache:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11
      - name: Cache Gradle packages
        uses: actions/cache@v3
        with:
          path: |
            ~/.gradle/caches
            ~/.gradle/wrapper
          key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle', '**/gradle-wrapper.properties') }}
          restore-keys: ${{ runner.os }}-gradle
      - name: Build and analyze
        run: ./gradlew build --info
          
  gradle-no-cache:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11
      - name: Build and analyze
        run: ./gradlew build --info

.github/workflows/build-java-sonarqube.yml:

Time Taken

Action Step Cache Miss Cache Hit
Set up JDK 11 6s 6s
Cache Gradle packages 0s 8s
Grable build 33s 8s

You can speed up build time 17 seconds.

  • Cache miss:

    cache-miss

    Download gradle wrapper and SpringBoot dependencies.

  • Cache hit:

    cache-hit

    github-cache

Run details in usage menu:

build-time-in-usage

Reference