π§ Upgrade Gradle wrapper to 9.7.1 #78
Workflow file for this run
This file contains hidden or 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: Dracula Theme CI | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - 'release/**' | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| branches: | |
| - master | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| # Held at v5, the last major under the MIT licence. v6 moves caching into the | |
| # proprietary gradle-actions-caching component, and using it means accepting | |
| # Gradle's commercial Terms of Use β a licensing call for this MIT project, not | |
| # something to pick up in passing while clearing a deprecation warning. | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Build plugin | |
| run: ./gradlew buildPlugin | |
| # Downloads the target IDEs, so this is the slow step. It is also the only automated | |
| # check this repo has β without it a compatibility break reaches the Marketplace. | |
| - name: Verify plugin | |
| run: ./gradlew verifyPlugin | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: plugin-artifact | |
| path: build/distributions/*.zip | |
| retention-days: 7 | |
| release: | |
| needs: build | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| # Held at v5 for the licence reason noted in the build job. | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| # Build once, then ship that same zip to both destinations. Publishing separately from | |
| # the artifact attached to the release would put two distinct builds behind one tag. | |
| - name: Build plugin | |
| run: ./gradlew buildPlugin | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v3 | |
| with: | |
| files: build/distributions/*.zip | |
| generate_release_notes: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Publish to JetBrains Marketplace | |
| env: | |
| JETBRAINS_TOKEN: ${{ secrets.JETBRAINS_TOKEN }} | |
| run: ./gradlew publishPlugin |