Skip to content

build(deps): bump gradle-wrapper from 9.6.1 to 9.7.0 (#231) #3

build(deps): bump gradle-wrapper from 9.6.1 to 9.7.0 (#231)

build(deps): bump gradle-wrapper from 9.6.1 to 9.7.0 (#231) #3

Workflow file for this run

name: Build
on:
push:
branches: [main]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
name: πŸ“¦ Build
runs-on: ubuntu-latest
steps:
- name: 🧹 Free disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main
with:
tool-cache: false
large-packages: false
- name: πŸ“₯ Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: β˜• Set up Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
with:
distribution: zulu
java-version: 21
- name: 🐘 Set up Gradle
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6
- name: πŸ”¨ Build plugin
run: ./gradlew --console=plain buildPlugin
- name: πŸ“ Prepare artifact
id: artifact
run: |
cd ${{ github.workspace }}/build/distributions
FILENAME=`ls *.zip`
unzip "$FILENAME" -d content
echo "filename=${FILENAME:0:-4}" >> $GITHUB_OUTPUT
- name: πŸ“€ Upload artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ${{ steps.artifact.outputs.filename }}
path: ./build/distributions/content/*/*
verify:
name: πŸ” Verify (${{ matrix.ide }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ide: ${{ github.event_name == 'pull_request' && fromJson('["PY"]') || fromJson('["PY"]') }}
steps:
- name: 🧹 Free disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main
with:
tool-cache: false
large-packages: false
android: true
dotnet: true
haskell: true
docker-images: true
- name: πŸ“₯ Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: β˜• Set up Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
with:
distribution: zulu
java-version: 21
- name: 🐘 Set up Gradle
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6
- name: πŸ’Ύ Cache verifier IDEs
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5
with:
path: ~/.pluginVerifier/ides
key: plugin-verifier-ides-${{ matrix.ide }}-${{ hashFiles('gradle.properties') }}
- name: βœ… Run verification
run: ./gradlew verifyPlugin -PverifyIde=${MATRIX_IDE}
env:
MATRIX_IDE: ${{ matrix.ide }}
- name: πŸ“€ Upload results
if: ${{ always() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: pluginVerifier-result-${{ matrix.ide }}
path: ${{ github.workspace }}/build/reports/pluginVerifier
lint:
name: 🧹 Lint
runs-on: ubuntu-latest
steps:
- name: 🧹 Free disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main
with:
tool-cache: false
large-packages: false
- name: πŸ“₯ Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: β˜• Set up Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
with:
distribution: zulu
java-version: 21
- name: 🐘 Set up Gradle
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6
- name: πŸ” Run linter
run: ./gradlew ktlintCheck
test:
name: πŸ§ͺ Unit tests
runs-on: ubuntu-latest
steps:
- name: 🧹 Free disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main
with:
tool-cache: false
large-packages: false
- name: πŸ“₯ Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: β˜• Set up Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
with:
distribution: zulu
java-version: 21
- name: 🐘 Set up Gradle
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6
- name: βœ… Run tests with coverage
run: ./gradlew test koverVerify
ui-test:
name: πŸ–₯️ UI tests
runs-on: ubuntu-latest
steps:
- name: 🧹 Free disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main
with:
tool-cache: false
large-packages: false
- name: πŸ“₯ Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: β˜• Set up Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
with:
distribution: zulu
java-version: 21
- name: 🐘 Set up Gradle
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6
- name: πŸ–₯️ Run UI tests
run: |
export DISPLAY=:99.0
Xvfb :99 -screen 0 1920x1080x24 &
./gradlew runIdeForUiTests &
echo "Waiting for IDE to start..."
timeout 180 bash -c 'until curl -s http://127.0.0.1:8082 > /dev/null 2>&1; do sleep 2; done' || { echo "IDE failed to start"; exit 1; }
echo "IDE is ready"
./gradlew uiTest
kill %1 %2 || true
- name: πŸ“€ Upload UI test artifacts
if: ${{ failure() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ui-test-failure
path: |
build/reports/
build/idea-sandbox/**/log/idea.log