IntelliJ Plugin Compatibility #2667
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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}} |