diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 76e7f06d2ce..57c021238ed 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,6 +21,29 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: + # kilocode_change start + changes: + name: detect JetBrains changes + runs-on: blacksmith-4vcpu-ubuntu-2404 + permissions: + contents: read + pull-requests: read + outputs: + jetbrains: ${{ steps.filter.outputs.jetbrains }} + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Detect JetBrains changes + id: filter + uses: Kilo-Org/paths-filter@668c092af3649c4b664c54e4b704aa46782f6f7c # v3 + with: + predicate-quantifier: every + filters: | + jetbrains: + - '**' + - '!packages/kilo-vscode/**' + - '!packages/kilo-docs/**' unit: name: unit (${{ matrix.settings.name }}) strategy: @@ -103,10 +126,13 @@ jobs: if-no-files-found: ignore retention-days: 7 path: packages/*/.artifacts/unit/junit.xml + # kilocode_change end # kilocode_change start jetbrains: name: jetbrains + needs: changes + if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.jetbrains == 'true' runs-on: blacksmith-4vcpu-ubuntu-2404 defaults: run: @@ -156,17 +182,27 @@ jobs: path: packages/kilo-jetbrains/.artifacts/unit/junit.xml # kilocode_change end + # kilocode_change start required: name: test (linux) runs-on: blacksmith-4vcpu-ubuntu-2404 needs: + - changes - unit - jetbrains if: always() steps: - name: Verify upstream test jobs passed run: | + echo "changes=${{ needs.changes.result }}" echo "unit=${{ needs.unit.result }}" echo "jetbrains=${{ needs.jetbrains.result }}" + test "${{ needs.changes.result }}" = "success" test "${{ needs.unit.result }}" = "success" - test "${{ needs.jetbrains.result }}" = "success" + if [ "${{ github.event_name }}" = "workflow_dispatch" ] || [ "${{ needs.changes.outputs.jetbrains }}" = "true" ]; then + test "${{ needs.jetbrains.result }}" = "success" + else + test "${{ needs.changes.outputs.jetbrains }}" = "false" + test "${{ needs.jetbrains.result }}" = "skipped" + fi + # kilocode_change end