Skip to content

Fix IDE plugin UI: dark mode support and markdown rendering #85

Fix IDE plugin UI: dark mode support and markdown rendering

Fix IDE plugin UI: dark mode support and markdown rendering #85

Workflow file for this run

name: 'CI — Build Kotlin plugin on PR commits'
on:
pull_request:
types: [opened, synchronize, reopened]
paths:
- 'ide-plugins/**'
push:
branches: [ "main" ]
paths:
- 'ide-plugins/**'
release:
types: [published]
jobs:
build-kotlin-plugin:
name: 'Build (Java 17)'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
ide-plugins/.gradle
key: gradle-17-${{ hashFiles('ide-plugins/**/*.gradle*','ide-plugins/**/gradle-wrapper.properties') }}
restore-keys: |
gradle-17-
- name: Setup Gradle wrapper if missing
run: |
if [ ! -f gradlew ] || [ ! -f gradle/wrapper/gradle-wrapper.jar ]; then
echo "Setting up Gradle wrapper for Gradle 9.2.0..."
cd /tmp
curl -L -s -o gradle-9.2.0.zip https://services.gradle.org/distributions/gradle-9.2.0-bin.zip
unzip -q gradle-9.2.0.zip
cd $GITHUB_WORKSPACE/ide-plugins
/tmp/gradle-9.2.0/bin/gradle wrapper --gradle-version 9.2.0
chmod +x gradlew
echo "Wrapper installed"
fi
working-directory: ide-plugins
- name: Print Gradle info (for debugging)
run: ./gradlew --no-daemon --version
working-directory: ide-plugins
- name: Build plugin
env:
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx3g"
run: |
set -o pipefail
./gradlew buildPlugin --no-daemon --stacktrace 2>&1 | tee ../gradle-build.log
working-directory: ide-plugins
- name: Upload build log
uses: actions/upload-artifact@v4
with:
name: gradle-build-log-java-17
path: gradle-build.log
if: always()
- name: Prepare plugin artifact for upload
run: |
cd ide-plugins/build/distributions
PLUGIN_FILE=$(ls *.zip | head -n 1)
if [ -n "$PLUGIN_FILE" ]; then
# Create a temporary directory for extraction
mkdir -p plugin-extracted
# Extract the plugin zip
unzip -q "$PLUGIN_FILE" -d plugin-extracted/
# For non-release builds, remove the original zip
if [ "${{ github.event_name }}" != "release" ]; then
rm "$PLUGIN_FILE"
fi
fi
if: success()
- name: Upload plugin artifact
uses: actions/upload-artifact@v4
with:
name: intellij-plugin-pr-${{ github.event.pull_request.number || github.run_number }}
path: ide-plugins/build/distributions/plugin-extracted/
if: success() && github.event_name != 'release'
- name: Upload to Release
if: github.event_name == 'release'
uses: softprops/action-gh-release@v1
with:
files: ide-plugins/build/distributions/plugin-extracted/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}