Skip to content

Bump actions/checkout from 2.7.0 to 4.2.2 #1007

Bump actions/checkout from 2.7.0 to 4.2.2

Bump actions/checkout from 2.7.0 to 4.2.2 #1007

name: Build and check
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
build-jvm-matrix:
runs-on: ubuntu-latest
steps: # https://michaelheap.com/dynamic-matrix-generation-github-actions/
- id: set-matrix
run: echo "::set-output name=version_matrix::$(curl https://endoflife.date/api/oracle-jdk.json | jq -c '[.[] | select(.extendedSupport > (now | strftime("%Y-%m-%d"))) | .cycle]' | sed 's/ //g')"
- name: verify-matrix
run: echo "The selected java versions are ${{ steps.set-matrix.outputs.version_matrix }}"
outputs:
version_matrix: ${{ steps.set-matrix.outputs.version_matrix }}
build:
needs: build-jvm-matrix
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
java_version: ${{ fromJson(needs.build-jvm-matrix.outputs.version_matrix) }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/[email protected]
- name: configure windows pagefile
if: ${{ matrix.os == 'windows-latest' }}
uses: al-cheb/[email protected]
with:
minimum-size: 8GB
maximum-size: 8GB
disk-root: "D:"
- name: set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java_version }}
distribution: 'zulu'
- name: Restore Gradle caches
uses: actions/cache@v4
with:
path: |
~/.gradle/caches/modules-2
~/.gradle/caches/files-2.1
~/.gradle/caches/metadata-2.96
key: ${{ runner.os }}-gradle-cache-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('**/gradle.properties') }}
restore-keys: |
${{ runner.os }}-gradle-cache-
# Inspired by https://github.com/actions/cache/issues/432#issuecomment-740376179
- name: Restore TestKit cache
uses: actions/cache@v4
with:
path: |
plugin/.gradle-test-kit/caches/modules-2
plugin/.gradle-test-kit/caches/files-2.1
plugin/.gradle-test-kit/caches/metadata-2.96
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradlew') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradlew') }}-
${{ runner.os }}-gradle-wrapper-
- name: Restore Gradle wrapper
uses: actions/cache@v4
with:
path: |
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradlew') }}
restore-keys: |
${{ runner.os }}-gradle-wrapper-
- name: Build plugin
run: ./plugin/gradlew -p ./plugin assemble ensureDependenciesAreInlined test --no-daemon
- name: Upload test results
uses: actions/[email protected]
if: failure()
with:
name: test-results-${{ runner.os }}
path: plugin/build/reports/tests/test/
- name: Upload Memory Dump
uses: actions/[email protected]
if: failure()
with:
name: memory-dump-${{ runner.os }}
path: |
hs_err_pid*
replay_pid*
plugin/hs_err_pid*
plugin/replay_pid*
- name: Check plugin codestyle
run: ./plugin/gradlew -p ./plugin ktlintCheck --no-daemon
check_bashisms:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/[email protected]
- name: set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'zulu'
- name: update apt
run: sudo apt update
- name: Install lintian
run: sudo apt install -qq lintian
- name: Install libdistro
run: sudo apt install -qq libdistro-info-perl
- name: Install checkbashisms
run: sudo apt-get install -qq devscripts
- name: Restore Gradle caches
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-cache-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('**/gradle.properties') }}
restore-keys: |
${{ runner.os }}-gradle-cache-
- name: Restore Gradle wrapper
uses: actions/cache@v4
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradlew') }}
restore-keys: |
${{ runner.os }}-gradle-wrapper-
- name: Check git bashisms
run: ./gradlew addKtlintCheckGitPreCommitHook --no-daemon && checkbashisms .git/hooks/pre-commit
check_samples:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
needs: build
steps:
- uses: actions/[email protected]
- name: set up JDK 1.8
uses: actions/setup-java@v4
with:
java-version: 8
distribution: 'zulu'
- name: Restore Gradle caches
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-cache-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('**/gradle.properties') }}
restore-keys: |
${{ runner.os }}-gradle-cache-
- name: Restore Gradle wrapper
uses: actions/cache@v4
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradlew') }}
restore-keys: |
${{ runner.os }}-gradle-wrapper-
- name: Check ktlint-plugin on samples
run: ./gradlew ktlintCheck --no-daemon