2026.1 and Latest EAP ship JVM-target-25 bytecode, so their inline
functions can only be inlined into a build that also targets 25.
2025.3 and earlier stay on JVM target 21 (the platform doesn't run
on Java 25). Make TestingBuildType take javaVersion (default 25) and
derive jdkHome from it; pin the 2025.3 test config to Java 21.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Each time we wanted to do minor release we had to do eap first which commented youtrack issues as resolved in eap.
So we've simplified this process and we can release minro directly now.
It's two-step process
1. manual run of prepare what's new that will generate html page with blogpost about what's new
2. promote current whatsnew-tbr.html to new version in release pipeline
Replace the scripts:eapReleaseActions Gradle/Kotlin task with a tsx
implementation wired into the EAP release pipeline as a script step.
Behavior is unchanged: Ready To Release tickets not yet tagged as
released in EAP get the tag plus the EAP-availability comment.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaces the long-disabled Kotlin changelogUpdateUnreleased/commitChanges
gradle steps with a new TS CLI (scripts-ts/src/promoteChangelog.ts) plus
two TC script steps:
* "Update change log" + "Commit preparation changes" — run on the
release branch before tagging, so the release tag points at the
promoted CHANGES.md commit.
* "Sync changelog to master" — runs after publish to mirror the
promotion on master. Master push is soft-fail so an upstream race
with the daily cron doesn't sink the marketplace release.
The promoter is a pure function (replace `## [To Be Released]` →
`## X.Y.Z, YYYY-MM-DD` for major/minor; no-op for patch releases per
the project convention that patches roll into the parent minor). Ten
vitest tests cover the behavior. CLI wrapper handles the TC entrypoint.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The probe served its diagnostic purpose: confirmed Node 22.18.0 / npm
10.9.3 / npx are available on the release-class Linux agent via nvm.
With that question answered, the build type is no longer useful.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
One-shot diagnostic build before wiring scripts-ts CLIs (the new
promoteChangelog.ts) into the release pipeline. Runs on the same
agent requirements as ReleasePlugin (Linux, MEDIUM CPU) and prints
node/npm/npx availability and PATH. No triggers — run manually.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Spawned TeamCity agents don't have github.com in known_hosts, causing
"Pull git tags" to fail with "Host key verification failed". Run
ssh-keyscan before the fetch so the agent trusts the host.
Now that 2026.1 is the current release (matches the default
ideaVersion in gradle.properties), run the standard test suite
against it alongside Latest EAP and 2025.3.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The plugin's KeepEnglishInNormalAndRestoreInInsertExtension.init()
calls exExceptionMessage("option not found") with a bundle key that
doesn't exist in IdeaVimEngineBundle.properties, so plugin-verifier
flags it as a missing-property compatibility problem against
latest-IU. This is a bug in the external plugin, not IdeaVim.
Comment out the verifier invocation until upstream
(github.com/hadix-lin/ideavim_extension) is fixed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Move from the JetBrains Space-hosted custom verifier jar to a release
asset on the AlexPl292/intellij-plugin-verifier fork, and document the
refresh workflow (pull upstream, re-apply the dev-channel patch, run
publish-verifier-cli.yml, bump the URL).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The agent has Xvfb installed but no X server is actually running on
:99, so the frontend IDE crashes at startup with
'Can't connect to X11 window server using :99'. Use `xvfb-run -a` to
spin up an Xvfb on a free display for the duration of the build, and
let it manage DISPLAY itself (drop the static env.DISPLAY=:99 param).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Xvfb is already running on the agent, so the build step doesn't need
to start it. Reduce the step to just the gradle invocation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Xvfb is now installed on the TeamCity agent, so the VCS trigger and
the install step can be removed. Reverts the disable from 34196bc0d.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add gg.ninetyfive, com.github.pooryam92.vimcoach, lazyideavim.whichkeylazy,
and com.github.vimkeysuggest to known plugins list and TeamCity compatibility job.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The clean task was invalidating the Gradle cache on each build,
making the caching feature ineffective.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The relative paths .gradle/caches and .gradle/wrapper don't exist in the
checkout directory - Gradle stores caches in ~/.gradle/ by default.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add --build-cache and --configuration-cache flags to all gradle steps
in ReleaseDev and ReleaseEap builds to match other build configurations.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds clearConditions() call to gradle build steps in LongRunning, Nvim,
PluginVerifier, and RandomOrderTests for consistency with PropertyBased
and TestingBuildType configurations.
The clearConditions() call was previously added to PropertyBased
(deca256e1) and TestingBuildType (152066b73) via TeamCity patches.
This change applies the same pattern to other gradle-based build types
to ensure consistent behavior across all test configurations.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Adds missing description fields to PropertyBased and LongRunning build
configurations for consistency with other build types (RandomOrderTests,
Nvim, TypeScriptTest, etc.).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add a simple TypeScript test script and TeamCity configuration to verify
that TS scripts can run on TeamCity agents. The build downloads Node.js
20.18.1 and runs the test script.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace TeamCity PR checks with a GitHub Actions workflow that:
- Runs on pull requests targeting master
- Executes the same test command with identical environment variables
- Uses Amazon Corretto JDK 21 (matching TeamCity setup)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>