Skip to content

Distinguish if a package comes from a foreign module #79

Distinguish if a package comes from a foreign module

Distinguish if a package comes from a foreign module #79

Workflow file for this run

name: IntelliJ Plugin
on:
push:
branches: [ main ]
paths:
- 'compose-stability-analyzer-idea/**'
- '.github/workflows/intellij-plugin.yml'
pull_request:
branches: [ '*' ]
paths:
- 'compose-stability-analyzer-idea/**'
- '.github/workflows/intellij-plugin.yml'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-plugin:
name: Build IntelliJ Plugin
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 21
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build stability-runtime (dependency)
run: ./gradlew :stability-runtime:build --no-daemon --stacktrace
- name: Build IntelliJ plugin
run: ./gradlew :compose-stability-analyzer-idea:buildPlugin --no-daemon --stacktrace
- name: Upload plugin distribution
uses: actions/upload-artifact@v4
with:
name: intellij-plugin
path: compose-stability-analyzer-idea/build/distributions/*.zip
test-plugin:
name: Test IntelliJ Plugin
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 21
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build stability-runtime (dependency)
run: ./gradlew :stability-runtime:build --no-daemon --stacktrace
- name: Run plugin tests
run: ./gradlew :compose-stability-analyzer-idea:test --no-daemon --stacktrace
- name: Upload test results
if: failure()
uses: actions/upload-artifact@v4
with:
name: plugin-test-results
path: compose-stability-analyzer-idea/build/reports/tests/
publish-check:
name: Plugin Publish Check
runs-on: ubuntu-latest
needs: [build-plugin, test-plugin]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 21
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build stability-runtime (dependency)
run: ./gradlew :stability-runtime:build --no-daemon --stacktrace
- name: Build and verify plugin
run: |
./gradlew :compose-stability-analyzer-idea:buildPlugin \
--no-daemon --stacktrace
- name: Display plugin info
run: |
echo "Plugin built successfully"
ls -lh compose-stability-analyzer-idea/build/distributions/
- name: Verify plugin structure
run: |
cd compose-stability-analyzer-idea/build/distributions
unzip -l *.zip | head -50