Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ jobs:
outputs:
version: ${{ steps.properties.outputs.version }}
changelog: ${{ steps.properties.outputs.changelog }}
pluginVerifierHomeDir: ${{ steps.properties.outputs.pluginVerifierHomeDir }}qq
pluginVerifierHomeDir: ${{ steps.properties.outputs.pluginVerifierHomeDir }}
platformVersion: ${{ steps.properties.outputs.platformVersion }}
steps:
- name: Maximize Build Space
uses: jlumbroso/free-disk-space@main
Expand Down Expand Up @@ -53,22 +54,29 @@ jobs:
PROPERTIES="$(./gradlew properties --console=plain -q)"
VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "pluginVerifierHomeDir=~/.pluginVerifier" >> $GITHUB_OUTPUT
echo "pluginVerifierHomeDir=$HOME/.pluginVerifier" >> $GITHUB_OUTPUT
echo "platformVersion=$(echo "$PROPERTIES" | grep "^platformVersion:" | cut -f2- -d ' ')" >> $GITHUB_OUTPUT
CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)"
echo "changelog<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGELOG" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

verify:
name: Verify plugin
name: Verify (${{ matrix.ide }})
needs: [build]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ide: [PC, PY, IC, IU, GO, CL, RR]
steps:
- name: Maximize Build Space
- name: Free disk space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
large-packages: false
android: true
dotnet: true
- name: Checkout git repository
uses: actions/checkout@v6
- name: Set up Java
Expand All @@ -80,30 +88,26 @@ jobs:
uses: gradle/actions/setup-gradle@v5
with:
validate-wrappers: false
cache-read-only: true
- name: Set up verifier cache
uses: actions/cache@v5
with:
path: ${{ needs.build.outputs.pluginVerifierHomeDir }}/ides
key: plugin-verifier-${{ hashFiles('build/listProductsReleases.txt') }}
key: plugin-verifier-${{ matrix.ide }}-${{ needs.build.outputs.platformVersion }}
- name: Run verification
run: ./gradlew verifyPlugin -Dplugin.verifier.home.dir=${{ needs.build.outputs.pluginVerifierHomeDir }}
run: ./gradlew verifyPlugin -PverifyIde=${{ matrix.ide }} -Dplugin.verifier.home.dir=${{ needs.build.outputs.pluginVerifierHomeDir }}
- name: Collect verification result
if: ${{ always() }}
uses: actions/upload-artifact@v6
with:
name: pluginVerifier-result
name: pluginVerifier-result-${{ matrix.ide }}
path: ${{ github.workspace }}/build/reports/pluginVerifier

test:
name: Run tests
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Maximize Build Space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
large-packages: false
- name: Checkout git repository
uses: actions/checkout@v6
- name: Set up Java
Expand All @@ -115,6 +119,7 @@ jobs:
uses: gradle/actions/setup-gradle@v5
with:
validate-wrappers: false
cache-read-only: true
- name: Run linter
run: ./gradlew ktlintCheck

Expand All @@ -126,11 +131,6 @@ jobs:
permissions:
contents: write
steps:
- name: Maximize Build Space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
large-packages: false
- name: Checkout git repository
uses: actions/checkout@v6
- name: Remove old release drafts
Expand Down
24 changes: 16 additions & 8 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,22 @@ intellijPlatform {
}
pluginVerification {
ides {
// target supporting the following platforms
create(IntelliJPlatformType.PyCharmCommunity, platformVersion)
create(IntelliJPlatformType.PyCharmProfessional, platformVersion)
create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersion)
create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersion)
create(IntelliJPlatformType.GoLand, platformVersion)
create(IntelliJPlatformType.CLion, platformVersion)
create(IntelliJPlatformType.RustRover, platformVersion)
val verifyIde = providers.gradleProperty("verifyIde").orNull
val ideTypes =
if (verifyIde != null) {
listOf(IntelliJPlatformType.fromCode(verifyIde))
} else {
listOf(
IntelliJPlatformType.PyCharmCommunity,
IntelliJPlatformType.PyCharmProfessional,
IntelliJPlatformType.IntellijIdeaCommunity,
IntelliJPlatformType.IntellijIdeaUltimate,
IntelliJPlatformType.GoLand,
IntelliJPlatformType.CLion,
IntelliJPlatformType.RustRover,
)
}
ideTypes.forEach { create(it, platformVersion) }
}
}
}
Expand Down