Skip to content

IntelliJ Plugin Compatibility #2667

IntelliJ Plugin Compatibility

IntelliJ Plugin Compatibility #2667

Workflow file for this run

name: IntelliJ Plugin Compatibility
on:
# Trigger the workflow on pushes to only the 'main' branch (this avoids duplicate checks being run e.g. for dependabot pull requests)
push:
branches: [ main ]
# Trigger the workflow on any pull request
pull_request:
# Trigger the workflow on a schedule; daily
schedule:
- cron: '0 0 * * *'
jobs:
files-changed:
uses: ./.github/workflows/files-changed.yaml
compatibility:
name: Ensure plugin compatibility against targeted platform version & the latest EAP snapshot for both IDEA Community, IDEA Ultimate.
runs-on: ubuntu-latest
needs: files-changed
if: needs.files-changed.outputs.SKIP_CI == 'false'
steps:
- name: Check out repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 1
- name: Setup Java
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
timeout-minutes: 5
with:
java-version: 21
distribution: 'zulu'
cache: gradle
- name: Build the plugin
run: ./gradlew buildPlugin
- name: Generate IDE Versions List
run: ./gradlew generateIdeVersionsList
# The below action is disabled to see how the verifier action below deals with it.
# GitHub announced a 10x increase to the storage capacity for GitHub Actions, which should help with the disk space issue.
# Ref: https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/
# Ref: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
# # https://github.com/actions/runner-images/issues/2840#issuecomment-790492173
# # https://github.com/jlumbroso/free-disk-space
# NOTE: Tried removing this on 2024-02-08, but ran out of diskspace on the 2023.3.4 upgrade PRs. Re-enabling.
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with:
# this remove tools (actions/setup-java) that are needed; hence, disable.
tool-cache: false
# this removes docker images that are needed, like the one that is built at the beginning of the workflow run
# for the below action (ChrisCarini/intellij-platform-plugin-verifier-action@latest); hence, disable.
docker-images: false
- name: Verify plugin on IntelliJ Platforms
id: verify
uses: ChrisCarini/intellij-platform-plugin-verifier-action@latest
with:
# Generated from the `generateIdeVersionsList` task above.
ide-versions: build/intellij-platform-plugin-verifier-action-ide-versions-file.txt
# TODO(ChrisCarini) - This can be removed once https://youtrack.jetbrains.com/issue/MP-6711 is resolved.
# See below for details:
# - https://jetbrains-platform.slack.com/archives/C012S7PA8CQ/p1722334099316129?thread_ts=1719921236.855369&cid=C012S7PA8CQ
# - https://youtrack.jetbrains.com/issue/MP-6711/Plugin-Verifier-Muted-plugin-problems-show-up-in-the-standard-output-as-structure-warnings#focus=Comments-27-10232348.0-0
failure-levels: |
PLUGIN_STRUCTURE_WARNINGS
- name: Get log file path and print contents
run: |
echo "The log file path is: ${{steps.verify.outputs.verification-output-log-filename}}" ;
cat ${{steps.verify.outputs.verification-output-log-filename}}