Skip to content

Decompose ChatController.sendChat into handlers for different request types #950

Decompose ChatController.sendChat into handlers for different request types

Decompose ChatController.sendChat into handlers for different request types #950

Workflow file for this run

name: Build, test and verify
on:
pull_request:
push:
branches:
- main
jobs:
test:
name: JetBrains tests
runs-on: ubuntu-latest
steps:
- name: Fetch Sources
uses: actions/checkout@v4
- uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # SECURITY: pin third-party action hashes
- run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
shell: bash
id: pnpm-cache
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-${{ matrix.node }}-pnpm-store-
restore-keys: ${{ runner.os }}-${{ matrix.node }}-pnpm-store-k
- name: Cache gradle and sourcegraph stores
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
~/.sourcegraph/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v3
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
cache: gradle
# Skip Code Search build in CI because it's slow, and we don't use it anyway for testing purposes.
- run: echo "SKIP_CODE_SEARCH_BUILD=true" >> $GITHUB_ENV
- run: |
pushd jetbrains
./gradlew spotlessCheck
./gradlew check
popd > /dev/null
- name: Upload the test report
if: always()
uses: actions/upload-artifact@v4
with:
name: test-report
path: jetbrains/build/reports/tests/
compression-level: 9
- run: |
pushd jetbrains
./gradlew buildPlugin
./gradlew --stop
popd > /dev/null
- name: Upload the plugin package
uses: actions/upload-artifact@v4
with:
name: plugin
path: './jetbrains/build/distributions/Sourcegraph-*.zip'
compression-level: 0
retention-days: 7
plugin-verifier:
name: IntelliJ Plugin Verifier
runs-on: ubuntu-latest
needs:
- test
steps:
- uses: actions/download-artifact@v4
with:
name: plugin
- name: Verify Plugin on IntelliJ Platforms
id: verify
uses: ChrisCarini/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
plugin-location: '*.zip'
ide-versions: |
ideaIC:2023.2
ideaIC:2024.2.4
failure-levels: |
INVALID_PLUGIN
MISSING_DEPENDENCIES
NON_EXTENDABLE_API_USAGES
OVERRIDE_ONLY_API_USAGES
PLUGIN_STRUCTURE_WARNINGS
- name: Upload the verification reports
if: always()
uses: actions/upload-artifact@v4
with:
name: plugin-verifier-reports
path: 'verification-*'
compression-level: 9