diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index d607b809b..4615ac3fc 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -1,92 +1,61 @@ -name: Publish to JetBrains Marketplace +name: Plugin deployment on: - push: + pull_request: concurrency: group: publish-plugin-${{ github.ref_name }} cancel-in-progress: true - jobs: - test: - name: Run Tests for ${{ matrix.environmentName }} + deploy: + name: Deploy the plugin for ${{ matrix.environmentName }} runs-on: arc-runners-large timeout-minutes: 60 strategy: matrix: environmentName: - - 251 - 252 + - 253 fail-fast: false steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 with: fetch-depth: 1 - - uses: actions/setup-java@v4 + - name: Setup Corretto JDK + uses: actions/setup-java@v4 with: java-version-file: '.java-version' distribution: 'corretto' cache: 'gradle' - - name: Run Tests - env: - GRADLE_OPTS: "-Xmx2g -XX:MaxMetaspaceSize=512m -Dkotlin.daemon.jvm.options=-Xmx1g" - run: | - echo "environmentName=${{ matrix.environmentName }}" - ./gradlew test \ - --parallel -Dorg.gradle.workers.max=2 -Dorg.gradle.test.worker.max=2 \ - --no-daemon -PenvironmentName=${{ matrix.environmentName }} + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 - verify: - name: Verify Plugin for ${{ matrix.environmentName }} - runs-on: arc-runners-large - timeout-minutes: 60 - strategy: - matrix: - environmentName: - - 251 - - 252 - fail-fast: false - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 1 + - name: Generate timestamp + run: echo "VERSION=$(date +'%Y.%m.%d-%H%M')" >> $GITHUB_ENV + + - name: Build plugin + run: ./gradlew buildPlugin -PenvironmentName=${{ matrix.environmentName }} -PpluginVersion=${{ env.VERSION }} - - uses: actions/setup-java@v4 + - name: Upload plugin to PR + uses: actions/upload-artifact@v4 with: - java-version-file: '.java-version' - distribution: 'corretto' - cache: 'gradle' + name: HyperskillAcademy-${{ env.VERSION }}-${{ matrix.environmentName }} + path: intellij-plugin/build/distributions + retention-days: 3 - - name: Verify Plugin - env: - GRADLE_OPTS: "-Xmx2g -XX:MaxMetaspaceSize=512m -Dkotlin.daemon.jvm.options=-Xmx1g" - run: | - echo "environmentName=${{ matrix.environmentName }}" - ./gradlew verifyPlugin \ - --parallel -Dorg.gradle.workers.max=2 -Dorg.gradle.test.worker.max=2 \ - --no-daemon -PenvironmentName=${{ matrix.environmentName }} + - name: Run tests + run: ./gradlew test -PenvironmentName=${{ matrix.environmentName }} -PpluginVersion=${{ env.VERSION }} -# publish: -# name: Publish Plugin -# if: github.ref == 'refs/heads/main' && github.event_name == 'push' -# runs-on: arc-runners-large -# needs: -# - test -# - verify -# timeout-minutes: 30 -# steps: -# - uses: actions/checkout@v4 -# -# - uses: actions/setup-java@v4 -# with: -# java-version-file: '.java-version' -# distribution: 'corretto' + - name: Verify plugin + run: ./gradlew verifyPlugin -PenvironmentName=${{ matrix.environmentName }} -PpluginVersion=${{ env.VERSION }} # -# - name: Publish Plugin -# run: | -# ./gradlew publishPlugin --no-daemon +# - name: Upload plugin to Marketplace +# if: github.ref == 'refs/heads/main' && +# github.event_name == 'push' && +# run: ./gradlew publishPlugin -PenvironmentName=${{ matrix.environmentName }} -PpluginVersion=${{ env.VERSION }} # env: # JB_MARKETPLACE_TOKEN: ${{ secrets.JB_MARKETPLACE_TOKEN }} diff --git a/gradle.properties b/gradle.properties index bf616d456..458991097 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,7 +28,8 @@ enableBuildSearchableOptions=false # Note, remove `-` before build number (`b` letter) to make it work #jbrVersion=17.0.11b1207.24 -org.gradle.jvmargs=-Xmx2g +org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m +kotlin.daemon.jvm.options=-Xmx1g # Since kotlin 1.4, stdlib dependency is added by default by kotlin gradle plugin. # But we don't need it because all necessary kotlin libraries are already bundled into IDE.