1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2026-05-04 02:03:07 +02:00
Commit Graph

12 Commits

Author SHA1 Message Date
Alex Plate
0bdecdc4c2 Fix disk space issues in Linux UI test workflows
Add disk space cleanup and reduce video recording size for Linux runners:
- Add "Free up disk space" step to remove .NET, Android SDK, GHC, CodeQL
- Reduce Xvfb resolution from 1920x1080 to 1280x720
- Optimize ffmpeg: 15fps, ultrafast preset, crf 28

This aligns with the existing Rider Linux workflow settings.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 17:15:59 +02:00
Alex Plate
64eca1ca11 Fix missing dependencies and git staging rule in UI test analysis jobs
Added missing dependencies:
- Java 21 setup (required for compilation verification)
- FFmpeg installation (required for ffprobe video analysis)

Added critical git staging rule to all UI test workflows:
- NEVER use `git add -A` or `git add .` when creating fix branches
- Always add modified files explicitly by path
- This prevents accidentally staging unrelated files that could cause
  push failures due to GitHub App workflow permission restrictions

Affected workflows:
- runUiTestsIJ.yml (unified IntelliJ IDEA tests)
- runUiPyTests.yml (PyCharm macOS tests)
- runUiPyTestsLinux.yml (PyCharm Linux tests)
- runUiRdTests.yml (Rider macOS tests)
- runUiRdTestsLinux.yml (Rider Linux tests)
- runUiOctopusTests.yml (Non-Octopus tests)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 07:32:43 +02:00
Alex Plate
59696e1b75 Add UI test best practices to prompts: prefer cause-effect over timeouts 2026-01-07 23:24:36 +02:00
Alex Plate
d7d9774dca Add java and which commands to allowed tools in UI test workflows 2026-01-07 23:14:07 +02:00
Alex Plate
e1c7301802 Fix PyCharm IDE type from PU to PY in UI test workflows 2026-01-07 23:11:44 +02:00
Alex Plate
1df726e510 Change PyCharm IDE type from PC to PU 2026-01-07 22:54:17 +02:00
Alex Plate
4944053e51 Add mandatory compilation and test verification to UI test workflows 2026-01-07 22:54:17 +02:00
Alex Plate
8be630ed68 Add full tool permissions for automated PR creation in UI tests
Added Edit, Bash(git:*), Bash(gh:*), Bash(gradle:*), and Bash(./gradlew:*)
to the allowed-tools list in all UI test workflows.

This enables Claude Code to fully automate the PR creation process:
- Edit: Modify source files to apply fixes
- Bash(git:*): Create branches, add files, commit, push
- Bash(gh:*): Create pull requests
- Bash(gradle:*) & Bash(./gradlew:*): Run tests to verify fixes

Without these permissions, Claude Code would get "command requires approval"
errors when trying to create branches or edit files, preventing automated
PR creation.

Updated workflows:
- runUiTests.yml (IntelliJ macOS)
- runUiTestsLinux.yml (IntelliJ Linux)
- runUiTestsUnified.yml (IntelliJ unified)
- runUiRdTests.yml (Rider macOS)
- runUiRdTestsLinux.yml (Rider Linux)
- runUiPyTests.yml (PyCharm macOS)
- runUiPyTestsLinux.yml (PyCharm Linux)
- runUiOctopusTests.yml (Octopus macOS)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 18:00:45 +02:00
Alex Plate
45525ea215 Enable Gradle configuration cache for Linux UI tests
Added --configuration-cache flag to buildPlugin task in all Linux
UI test workflows to significantly improve build performance.

The configuration cache stores the result of the configuration phase
and reuses it for subsequent builds, avoiding the need to re-evaluate
build scripts when inputs haven't changed. This is particularly
beneficial for UI tests that run frequently on schedule.

Note on "Gradle User Home cache not found" message: This is expected
when the commit SHA changes, as the gradle-home cache key includes it
for security. However, the more important dependency and transform
caches use content-based hashing and are restored correctly across
commits, which is why builds still benefit from caching.

Updated workflows:
- runUiTestsLinux.yml
- runUiRdTestsLinux.yml
- runUiPyTestsLinux.yml
- runUiTestsUnified.yml (both jobs)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 17:57:20 +02:00
Alex Plate
6f3fec2b1a Instruct Claude Code to create PRs automatically without asking
Added explicit instruction to all UI test failure analysis prompts:
"IMPORTANT: If you have a concrete suggestion for fixing the test,
ALWAYS proceed with creating a branch and PR. Never ask for
permission - just do it."

This ensures Claude Code will automatically create fix PRs when it
identifies concrete solutions, eliminating the need for user
confirmation and enabling fully automated test maintenance.

Updated workflows:
- runUiTests.yml (IntelliJ macOS)
- runUiTestsLinux.yml (IntelliJ Linux)
- runUiTestsUnified.yml (IntelliJ unified)
- runUiRdTests.yml (Rider macOS)
- runUiRdTestsLinux.yml (Rider Linux)
- runUiPyTests.yml (PyCharm macOS)
- runUiPyTestsLinux.yml (PyCharm Linux)
- runUiOctopusTests.yml (Octopus macOS)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 17:45:21 +02:00
Alex Plate
e73dff9d9a Add automated fix workflow to UI test failure analysis
Updated all UI test workflow prompts to instruct Claude Code to
automatically create fixes when concrete solutions are identified:

1. Create a branch with descriptive name
2. Apply the suggested fix to the codebase
3. Run the specific failing test to verify the fix works
4. Create a PR if the test passes with clear documentation

Each workflow includes the appropriate test command for its IDE type:
- IntelliJ/Octopus: gradle :tests:ui-ij-tests:testUi --tests "..."
- Rider: gradle :tests:ui-rd-tests:testUi --tests "..."
- PyCharm: gradle :tests:ui-py-tests:testUi --tests "..."

This enables fully automated test fix proposals without manual
intervention, reducing the feedback loop for fixing flaky or broken
UI tests caused by platform changes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 17:01:37 +02:00
Alex Plate
3f4da7ab8a Add macOS labels and create Linux variants for Rider/PyCharm UI tests
Clarified that existing UI tests without OS specification run on macOS
by updating workflow names to include "macOS" suffix.

Created Linux versions of Rider and PyCharm UI tests:
- runUiRdTestsLinux.yml: Rider tests on Linux with Xvfb setup
- runUiPyTestsLinux.yml: PyCharm tests on Linux with Xvfb and Python 3.10

Both new workflows follow the same Linux setup pattern as the existing
runUiTestsLinux.yml workflow, using x11grab for screen recording and
appropriate IDE type parameters (-PideaType=RD/PC).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 16:59:14 +02:00