From a2374547dfdd276b7bd9e4ba2c6ba50647d9c8a7 Mon Sep 17 00:00:00 2001
From: "K.B.Dharun Krishna" <kbdharunkrishna@gmail.com>
Date: Fri, 1 Dec 2023 15:46:32 +0530
Subject: [PATCH] feat: bump actions/checkout and actions/setup-java to v4
 (#533)

* eat: bump to use node20 runtime, actions/checkout to v4

* docs: update version of setup-java in documentation and e2e tests

---------

Co-authored-by: Ivan Zosimov <ivanzosimov@github.com>
---
 .../workflows/e2e-cache-dependency-path.yml   |  6 +-
 .github/workflows/e2e-cache.yml               | 12 +--
 .github/workflows/e2e-local-file.yml          |  6 +-
 .github/workflows/e2e-publishing.yml          |  8 +-
 .github/workflows/e2e-versions.yml            | 24 +++---
 README.md                                     | 34 ++++----
 docs/advanced-usage.md                        | 84 +++++++++----------
 7 files changed, 87 insertions(+), 87 deletions(-)

diff --git a/.github/workflows/e2e-cache-dependency-path.yml b/.github/workflows/e2e-cache-dependency-path.yml
index 23246a2..f276ef3 100644
--- a/.github/workflows/e2e-cache-dependency-path.yml
+++ b/.github/workflows/e2e-cache-dependency-path.yml
@@ -24,7 +24,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for gradle
         uses: ./
         id: setup-java
@@ -51,7 +51,7 @@ jobs:
     needs: gradle1-save
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for gradle
         uses: ./
         id: setup-java
@@ -76,7 +76,7 @@ jobs:
     needs: gradle1-save
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for gradle
         uses: ./
         id: setup-java
diff --git a/.github/workflows/e2e-cache.yml b/.github/workflows/e2e-cache.yml
index 34a07a5..b56be8e 100644
--- a/.github/workflows/e2e-cache.yml
+++ b/.github/workflows/e2e-cache.yml
@@ -24,7 +24,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for gradle
         uses: ./
         id: setup-java
@@ -50,7 +50,7 @@ jobs:
     needs: gradle-save
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for gradle
         uses: ./
         id: setup-java
@@ -73,7 +73,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for maven
         uses: ./
         id: setup-java
@@ -97,7 +97,7 @@ jobs:
     needs: maven-save
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for maven
         uses: ./
         id: setup-java
@@ -124,7 +124,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for sbt
         uses: ./
         id: setup-java
@@ -172,7 +172,7 @@ jobs:
     needs: sbt-save
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Run setup-java with the cache for sbt
         uses: ./
         id: setup-java
diff --git a/.github/workflows/e2e-local-file.yml b/.github/workflows/e2e-local-file.yml
index 3959394..9757621 100644
--- a/.github/workflows/e2e-local-file.yml
+++ b/.github/workflows/e2e-local-file.yml
@@ -21,7 +21,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Download Adopt OpenJDK file
         run: |
           if ($IsLinux) {
@@ -58,7 +58,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Download Zulu OpenJDK file
         run: |
           if ($IsLinux) {
@@ -95,7 +95,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Download Eclipse Temurin file
         run: |
           if ($IsLinux) {
diff --git a/.github/workflows/e2e-publishing.yml b/.github/workflows/e2e-publishing.yml
index d092487..dd7bd43 100644
--- a/.github/workflows/e2e-publishing.yml
+++ b/.github/workflows/e2e-publishing.yml
@@ -25,7 +25,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -60,7 +60,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Create fake settings.xml
         run: |
           $xmlDirectory = Join-Path $HOME ".m2"
@@ -96,7 +96,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Create fake settings.xml
         run: |
           $xmlDirectory = Join-Path $HOME ".m2"
@@ -133,7 +133,7 @@ jobs:
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
diff --git a/.github/workflows/e2e-versions.yml b/.github/workflows/e2e-versions.yml
index 87808e4..1f9d6e7 100644
--- a/.github/workflows/e2e-versions.yml
+++ b/.github/workflows/e2e-versions.yml
@@ -51,7 +51,7 @@ jobs:
 
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -87,7 +87,7 @@ jobs:
             version: '11.0.13+9'
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -112,7 +112,7 @@ jobs:
             os: macos-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -138,7 +138,7 @@ jobs:
             os: macos-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -175,7 +175,7 @@ jobs:
         version: ['17-ea', '15.0.0-ea.14']
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -197,7 +197,7 @@ jobs:
         version: ['17-ea']
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -242,7 +242,7 @@ jobs:
             os: windows-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -268,7 +268,7 @@ jobs:
         version: ['11']
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: setup-java
         uses: ./
         id: setup-java
@@ -290,7 +290,7 @@ jobs:
         distribution: ['temurin', 'microsoft', 'corretto']
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Create .java-version file
         shell: bash
         run: echo "8" > .java-version
@@ -315,7 +315,7 @@ jobs:
         distribution: ['temurin', 'zulu', 'liberica', 'microsoft', 'corretto']
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Create .java-version file
         shell: bash
         run: echo "11" > .java-version
@@ -339,7 +339,7 @@ jobs:
         distribution: ['adopt', 'adopt-openj9', 'zulu']
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Create .java-version file
         shell: bash
         run: echo "11.0.2" > .java-version
@@ -363,7 +363,7 @@ jobs:
         distribution: ['adopt', 'zulu', 'liberica']
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Create .java-version file
         shell: bash
         run: echo "openjdk64-11.0.2" > .java-version
diff --git a/README.md b/README.md
index beecd71..b4476cc 100644
--- a/README.md
+++ b/README.md
@@ -69,8 +69,8 @@ This action allows you to work with Java and Scala projects.
 #### Eclipse Temurin
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin' # See 'Supported distributions' for available options
     java-version: '17'
@@ -80,8 +80,8 @@ steps:
 #### Azul Zulu OpenJDK
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'zulu' # See 'Supported distributions' for available options
     java-version: '17'
@@ -131,8 +131,8 @@ The cache input is optional, and caching is turned off by default.
 #### Caching gradle dependencies
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin'
     java-version: '17'
@@ -146,8 +146,8 @@ steps:
 #### Caching maven dependencies
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin'
     java-version: '17'
@@ -160,8 +160,8 @@ steps:
 #### Caching sbt dependencies
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin'
     java-version: '17'
@@ -180,8 +180,8 @@ Usually, cache gets downloaded in multiple segments of fixed sizes. Sometimes, a
 env:
   SEGMENT_DOWNLOAD_TIMEOUT_MINS: '5'
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin'
     java-version: '17'
@@ -200,8 +200,8 @@ For Java distributions that are not cached on Hosted images, `check-latest` alwa
 
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin'
     java-version: '17'
@@ -219,9 +219,9 @@ jobs:
         java: [ '8', '11', '17' ]
     name: Java ${{ matrix.Java }} sample
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
       - name: Setup java
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@v4
         with:
           distribution: '<distribution>'
           java-version: ${{ matrix.java }}
@@ -234,7 +234,7 @@ All versions are added to the PATH. The last version will be used and available
 
 ```yaml
     steps:
-      - uses: actions/setup-java@v3
+      - uses: actions/setup-java@v4
         with:
           distribution: '<distribution>'
           java-version: |
diff --git a/docs/advanced-usage.md b/docs/advanced-usage.md
index e13366d..41125de 100644
--- a/docs/advanced-usage.md
+++ b/docs/advanced-usage.md
@@ -27,8 +27,8 @@ Inputs `java-version` and `distribution` are mandatory and needs to be provided.
 ### Eclipse Temurin
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin'
     java-version: '11'
@@ -40,8 +40,8 @@ steps:
 
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'adopt-hotspot'
     java-version: '11'
@@ -51,8 +51,8 @@ steps:
 ### Zulu
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'zulu'
     java-version: '11'
@@ -63,8 +63,8 @@ steps:
 ### Liberica
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'liberica'
     java-version: '11'
@@ -75,8 +75,8 @@ steps:
 ### Microsoft
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'microsoft'
     java-version: '11'
@@ -90,7 +90,7 @@ steps:
 To get a higher rate limit, you can [generate a personal access token on github.com](https://github.com/settings/tokens/new) and pass it as the `token` input for the action:
 
 ```yaml
-uses: actions/setup-java@v3
+uses: actions/setup-java@v4
 with:
   token: ${{ secrets.GH_DOTCOM_TOKEN }}
   distribution: 'microsoft'
@@ -104,8 +104,8 @@ If the runner is not able to access github.com, any Java versions requested duri
 
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'corretto'
     java-version: '11'
@@ -117,8 +117,8 @@ steps:
 
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'oracle'
     java-version: '17'
@@ -129,8 +129,8 @@ steps:
 **NOTE:** Alibaba Dragonwell only provides jdk.
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'dragonwell'
     java-version: '8'
@@ -140,8 +140,8 @@ steps:
 ## Installing custom Java package type
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: '<distribution>'
     java-version: '11'
@@ -154,8 +154,8 @@ steps:
 
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: '<distribution>'
     java-version: '11'
@@ -171,7 +171,7 @@ steps:
 - run: |
     download_url="https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9.tar.gz"
     wget -O $RUNNER_TEMP/java_package.tar.gz $download_url
-- uses: actions/setup-java@v3
+- uses: actions/setup-java@v4
   with:
     distribution: 'jdkfile'
     jdkFile: ${{ runner.temp }}/java_package.tar.gz
@@ -197,7 +197,7 @@ If your use-case requires a custom distribution (in the example, alpine-linux is
           latest_semver_version=$(curl -sL $latest_jdk_json_url | jq -r 'version.semver')
           echo "java_version=$latest_semver_version" >> "$GITHUB_OUTPUT"
 
-      - uses: actions/setup-java@v3
+      - uses: actions/setup-java@v4
         with:
           distribution: 'jdkfile'
           jdkFile: ${{ runner.temp }}/java_package.tar.gz
@@ -218,9 +218,9 @@ jobs:
         java: [ '8', '11' ]
     name: Java ${{ matrix.Java }} (${{ matrix.distribution }}) sample
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
       - name: Setup java
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@v4
         with:
           distribution: ${{ matrix.distribution }}
           java-version: ${{ matrix.java }}
@@ -238,9 +238,9 @@ jobs:
         os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
     name: Java ${{ matrix.Java }} (${{ matrix.os }}) sample
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
       - name: Setup java
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@v4
         with:
           distribution: 'temurin'
           java-version: ${{ matrix.java }}
@@ -255,9 +255,9 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
     - name: Set up JDK 11
-      uses: actions/setup-java@v3
+      uses: actions/setup-java@v4
       with:
         distribution: '<distribution>'
         java-version: '11'
@@ -271,7 +271,7 @@ jobs:
         GITHUB_TOKEN: ${{ github.token }} # GITHUB_TOKEN is the default env for the password
 
     - name: Set up Apache Maven Central
-      uses: actions/setup-java@v3
+      uses: actions/setup-java@v4
       with: # running setup-java again overwrites the settings.xml
         distribution: 'temurin'
         java-version: '11'
@@ -366,9 +366,9 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
     - name: Set up JDK 11 for Shared Runner
-      uses: actions/setup-java@v3
+      uses: actions/setup-java@v4
       with:
         distribution: '<distribution>'
         java-version: '11'
@@ -392,10 +392,10 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
 
     - name: Set up JDK 11
-      uses: actions/setup-java@v3
+      uses: actions/setup-java@v4
       with:
         distribution: '<distribution>'
         java-version: '11'
@@ -429,14 +429,14 @@ Subsequent calls to `setup-java` with distinct distribution and version paramete
 
 ```yaml
 steps:
-- uses: actions/setup-java@v3
+- uses: actions/setup-java@v4
   with:
     distribution: '<distribution>'
     java-version: |
       8
       11
 
-- uses: actions/setup-java@v3
+- uses: actions/setup-java@v4
   with:
     distribution: '<distribution>'
     java-version: 15
@@ -448,7 +448,7 @@ The result is a Toolchain with entries for JDKs 8, 11 and 15. You can even combi
 - run: |
     download_url="https://example.com/java/jdk/6u45-b06/jdk-6u45-linux-x64.tar.gz"
     wget -O $RUNNER_TEMP/java_package.tar.gz $download_url
-- uses: actions/setup-java@v3
+- uses: actions/setup-java@v4
   with:
     distribution: 'jdkfile'
     jdkFile: ${{ runner.temp }}/java_package.tar.gz
@@ -465,7 +465,7 @@ Each JDK provider will receive a default `vendor` using the `distribution` input
 - run: |
     download_url="https://example.com/java/jdk/6u45-b06/jdk-6u45-linux-x64.tar.gz"
     wget -O $RUNNER_TEMP/java_package.tar.gz $download_url
-- uses: actions/setup-java@v3
+- uses: actions/setup-java@v4
   with:
     distribution: 'jdkfile'
     jdkFile: ${{ runner.temp }}/java_package.tar.gz
@@ -480,7 +480,7 @@ In case you install multiple versions of Java at once with multi-line `java-vers
 
 ```yaml
 steps:
-- uses: actions/setup-java@v3
+- uses: actions/setup-java@v4
   with:
     distribution: '<distribution>'
     java-version: |
@@ -494,8 +494,8 @@ Each JDK provider will receive a default `id` based on the combination of `distr
 
 ```yaml
 steps:
-- uses: actions/checkout@v3
-- uses: actions/setup-java@v3
+- uses: actions/checkout@v4
+- uses: actions/setup-java@v4
   with:
     distribution: 'temurin'
     java-version: '11'
@@ -507,7 +507,7 @@ In case you install multiple versions of Java at once you can use the same synta
 
 ```yaml
 steps:
-- uses: actions/setup-java@v3
+- uses: actions/setup-java@v4
   with:
     distribution: '<distribution>'
     java-version: |