Skip to content

Prepare next development version. #1052

Prepare next development version.

Prepare next development version. #1052

Workflow file for this run

# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
# Yes, booleans used here are 'strings' despite the type of input being declared as boolean because… well, see here:
# https://docs.github.com/en/actions/learn-github-actions/expressions
# https://github.com/marketplace/actions/gradle-build-action
name: Check build and tests of plugins and samples
on:
workflow_dispatch:
inputs:
check-for-memory-leaks:
description: "Check for memory leaks"
required: true
type: boolean
default: true
run-refreshVersions-task:
description: "Run the refreshVersions task"
required: true
type: boolean
default: false
sample-kotlin:
description: "Enable sample-kotlin"
required: true
type: boolean
default: true
sample-groovy:
description: "Enable sample-groovy"
required: true
type: boolean
default: true
sample-multi-modules:
description: "Enable sample-multi-modules"
required: true
type: boolean
default: true
sample-kotlin-js:
description: "Enable sample-kotlin-js"
required: true
type: boolean
default: true
sample-android:
description: "Enable sample-android"
required: true
type: boolean
default: false
run-on:
type: choice
description: "Where to run this workflow"
default: 'ubuntu-latest'
required: true
options:
- windows-2022
- windows-2019
- windows-latest
- macos-12
- macos-11
- macos-10.5
- macos-latest
- ubuntu-22.04
- ubuntu-20.04
- ubuntu-18.04
- ubuntu-latest
pull_request:
paths:
- 'plugins/**'
- 'sample-kotlin/**'
- 'sample-groovy/**'
- '!**.md'
- '!.editorconfig'
- '!**/.gitignore'
- '!**.adoc'
- '!docs/**'
push:
branches:
- main
paths:
- 'plugins/**'
- 'sample-kotlin/**'
- 'sample-groovy/**'
- '!**.md'
- '!.editorconfig'
- '!**/.gitignore'
- '!**.adoc'
- '!docs/**'
jobs:
check-all:
runs-on: ${{ github.event.inputs.run-on || 'ubuntu-latest' }}
steps:
- name: "Enable long paths for git Windows"
if: ${{ runner.os == 'Windows' }}
run: git config --global core.longpaths true
- uses: actions/checkout@v2
- name: "Configure JDK"
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: "Check plugins and publish them to MavenLocal"
uses: gradle/gradle-build-action@v2
with:
gradle-executable: plugins/gradlew
build-root-directory: plugins
arguments: check publishToMavenLocal --stacktrace --daemon
- name: "Configure JDK for old Gradle"
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
- name: "Run refreshVersions on sample-kotlin"
if: ${{ github.event_name != 'workflow_dispatch' || github.event.inputs.sample-kotlin == 'true' && github.event.inputs.run-refreshVersions-task == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-kotlin/gradlew
build-root-directory: sample-kotlin
arguments: refreshVersions --stacktrace --daemon
- name: "Check sample-kotlin"
if: ${{ github.event_name != 'workflow_dispatch' || github.event.inputs.sample-kotlin == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-kotlin/gradlew
build-root-directory: sample-kotlin
arguments: check --stacktrace --configuration-cache --daemon
- name: "Configure JDK back for new Gradle"
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: "Check for memory leaks"
if: ${{ github.event_name != 'workflow_dispatch' || github.event.inputs.check-for-memory-leaks == 'true' }}
working-directory: sample-groovy
run: ./counted-stress-test.sh 10 ./gradlew --daemon -Dorg.gradle.jvmargs="-Xmx150M"
- name: "Run refreshVersions on sample-groovy"
if: ${{ github.event.inputs.sample-groovy == 'true' && github.event.inputs.run-refreshVersions-task == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-groovy/gradlew
build-root-directory: sample-groovy
arguments: refreshVersions --stacktrace --daemon
- name: "Check sample-groovy"
if: ${{ github.event.inputs.sample-groovy == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-groovy/gradlew
build-root-directory: sample-groovy
arguments: check --stacktrace --daemon
- name: "Check buildSrc of sample-groovy (simulates IDE Gradle sync)"
if: ${{ github.event.inputs.sample-groovy == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-groovy/gradlew
build-root-directory: sample-groovy/buildSrc
arguments: help --stacktrace --daemon
- name: "Run refreshVersions on sample-multi-modules"
if: ${{ github.event.inputs.sample-multi-modules == 'true' && github.event.inputs.run-refreshVersions-task == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-multi-modules/gradlew
build-root-directory: sample-multi-modules
arguments: refreshVersions --stacktrace --daemon
- name: "Check sample-multi-modules"
if: ${{ github.event.inputs.sample-multi-modules == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-multi-modules/gradlew
build-root-directory: sample-multi-modules
arguments: check --stacktrace --daemon
- name: "Run refreshVersions on sample-kotlin-js"
if: ${{ github.event.inputs.sample-kotlin-js == 'true' && github.event.inputs.run-refreshVersions-task == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-kotlin-js/gradlew
build-root-directory: sample-kotlin-js
arguments: refreshVersions --stacktrace --daemon
- name: "Check sample-kotlin-js"
if: ${{ github.event.inputs.sample-kotlin-js == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-kotlin-js/gradlew
build-root-directory: sample-kotlin-js
arguments: check --stacktrace --daemon
- name: "Run refreshVersions on sample-android"
if: ${{ github.event.inputs.sample-android == 'true' && github.event.inputs.run-refreshVersions-task == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-android/gradlew
build-root-directory: sample-android
arguments: refreshVersions --stacktrace --daemon
- name: "Check sample-android"
if: ${{ github.event.inputs.sample-android == 'true' }}
uses: gradle/gradle-build-action@v2
with:
gradle-executable: sample-android/gradlew
build-root-directory: sample-android
arguments: check --stacktrace --daemon
- name: "Stop Gradle daemon"
working-directory: plugins
run: ./gradlew --stop