Commit Graph
368 Commits
Author SHA1 Message Date
1grzyb1 a3bc7ca31e Add 2026.2 to teamcity builds 2026-09-02 10:26:38 +02:00
1grzyb1 2cc2ad41c4 Zip nvim tests artifacts
We were publishing too many artifcats that were rejected due to limit 1000
2026-08-27 10:23:02 +02:00
1grzyb1 580b504b8c Publish eap every 2 weeks
We want to pubilsh eap more often to gather feedback before publishing release
2026-08-11 11:10:53 +02:00
1grzyb1 ef4f29ebc0 Run tests for EAP on java 25 2026-07-09 11:57:53 +02:00
1grzyb1andClaude Opus 4.8 247fea8838 Fix(builds): compile tests with per-platform JVM target
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>
2026-07-09 11:57:53 +02:00
1grzyb1 cc06833eeb Increase long running tests execution timeout 2026-07-09 11:57:53 +02:00
1grzyb1 97430e2a75 Allow releasing minor without eap first
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.
2026-07-06 11:37:39 +02:00
1grzyb1 e8df8dacde Release pipeline for updating what's new
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
2026-06-24 11:23:17 +02:00
Alex PlateandClaude Opus 4.8 df38f3b31e Migrate EAP release actions script to TypeScript
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>
2026-06-02 17:51:04 +03:00
Alex Plate e1eff60d31 Migrate TeamCity build number script to TypeScript 2026-05-22 16:49:43 +03:00
Alex PlateandClaude Opus 4.7 618bd5b185 Wire TypeScript changelog promoter into release pipeline
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>
2026-05-22 14:35:40 +03:00
Alex PlateandClaude Opus 4.7 007c6ef155 Drop ScriptsToolingProbe TeamCity build
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>
2026-05-22 14:35:28 +03:00
Alex PlateandClaude Opus 4.7 847ae7343d Add TeamCity probe to check node/npm on release-class agent
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>
2026-05-22 13:42:18 +03:00
1grzyb1 78d3ac5aab Force fetch tags in release pipepline 2026-05-15 12:02:30 +00:00
1grzyb1 bdff723a87 VIM-4234 Use java 21 in teamcity 2026-05-15 10:51:15 +00:00
1grzyb1 2cb5e5b658 VIM-4234 Rollback to java 21
It turns out platform 2025.3 doesn't work with java 25
2026-05-15 10:10:45 +00:00
Alex Plate 9c94f28447 Seed github.com host key before git fetch in release builds
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.
2026-05-14 12:12:52 +03:00
1grzyb1 0b952a0152 Use java 25 in teamcity builds 2026-05-13 06:45:56 +00:00
1grzyb1 4225b32f55 Update java to version 25 2026-05-12 11:34:21 +00:00
Alex PlateandClaude Opus 4.7 8182d3ba17 Add IntelliJ 2026.1 to TeamCity test matrix
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>
2026-05-08 18:22:03 +03:00
Alex PlateandClaude Opus 4.7 f7a5585462 Disable IdeaVimExtension in compatibility check
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>
2026-05-08 17:33:29 +03:00
Alex PlateandClaude Opus 4.7 8b74fa25a5 Register dev.ckob.lazygit in plugin compatibility checks
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:07:14 +03:00
Alex PlateandClaude Opus 4.7 7db9b0b58b Switch compatibility verifier download to GitHub Releases
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>
2026-05-08 15:48:43 +03:00
Alex Plate 0527ad3359 Remove TeamCity TypeScript scripts smoke test
The smoke test served its purpose of verifying TypeScript scripts
can run on TeamCity. Other scripts-ts/ automation is unaffected.
2026-05-08 12:34:21 +03:00
1grzyb1andClaude Opus 4.7 ec06a522da Wrap split mode tests with xvfb-run
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>
2026-04-28 10:21:42 +02:00
1grzyb1andClaude Opus 4.7 c6ca4428ba Drop Xvfb startup from split mode tests script
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>
2026-04-28 09:29:29 +02:00
1grzyb1andClaude Opus 4.7 a440bcb108 Re-enable split mode tests in TeamCity
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>
2026-04-28 09:00:26 +02:00
1grzyb1 34196bc0dd Disable split mode tests
Agent doesn't have Xvfb will enable when it will have
2026-04-10 13:24:04 +02:00
1grzyb1 2a7d23586a Install Xvfb in TC 2026-04-10 11:16:16 +02:00
1grzyb1 d47a22e96f Disable Xvfb access control 2026-04-10 10:56:05 +02:00
1grzyb1 f4c6e04558 Wait for display to be ready in split mode tests 2026-04-10 10:27:52 +02:00
1grzyb1 9f33320e66 Move split mode tests to team city 2026-04-09 14:21:18 +02:00
1grzyb1 0d8d215946 Clear gradle caches in random order tests
They were keeping old class descriptors
2026-04-09 12:26:32 +02:00
1grzyb1 56103c990b Increase compatibility pipeline timeout to 180 minutes 2026-04-08 08:50:47 +02:00
1grzyb1 98934ff7bf Clean Gradle before running tests
It should ensure no stale classes survive between builds
2026-04-07 11:09:05 +02:00
1grzyb1 f6fb0fbea6 Disable gradle cache for testing build type
It was preserving old class descriptors
2026-04-07 10:36:31 +02:00
1grzyb1 527f612e75 VIM-3918 Run split mode tests using github actions
To make it work same way as ui tests I moved split mode tests to run on gh also
2026-03-26 09:51:15 +01:00
1grzyb1 4f748e5a98 VIM-3918 Add TeamCity configuration for split-mode tests
Register SplitModeTests build type: daily schedule at 4am,
XLARGE agent, artifact collection including IDE logs.
2026-03-25 11:43:43 +01:00
Alex PlateandClaude Opus 4.6 d0103f1cef Register new dependent plugins for compatibility checks
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>
2026-03-10 08:14:57 +02:00
Alex PlateandClaude Opus 4.5 1935444033 Remove clean task from TeamCity builds to enable Gradle caching
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>
2026-01-09 18:59:22 +02:00
Alex PlateandClaude Opus 4.5 8fea386169 Fix TeamCity build cache paths to use Gradle User Home
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>
2026-01-09 17:30:33 +02:00
Alex PlateandClaude Opus 4.5 642ed628a5 Enable Gradle build cache for release builds
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>
2026-01-09 17:12:48 +02:00
Alex Plate 3e9fd7d305 Add TeamCity build cache feature for Gradle directories 2026-01-07 18:35:07 +02:00
Alex Plate 52b0724931 Enable Gradle build and configuration cache for all TeamCity builds 2026-01-07 18:31:48 +02:00
claude[bot]andClaude Sonnet 4.5 f3abb2a34b Add clearConditions() to gradle steps in build types
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>
2026-01-03 01:09:31 +02:00
claude[bot]andClaude Sonnet 4.5 8e9d52c6df Add descriptions to PropertyBased and LongRunning build types
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>
2026-01-03 01:09:31 +02:00
Alex PlateandClaude Opus 4.5 646ed564e9 Add TeamCity build for TypeScript scripts test
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>
2025-12-29 10:24:39 +02:00
Alex PlateandClaude Opus 4.5 ef2e069b93 Migrate PR verification from TeamCity to GitHub Actions
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>
2025-12-24 09:27:45 +02:00
Alex PlateandClaude Opus 4.5 9d829b2011 Revert Slack notification experiment, re-enable VCS triggers
- Remove SlackNotificationTest build configuration
- Remove Slack notification steps from ReleaseEap and ReleasePlugin
- Remove ANTHROPIC_API_KEY parameter from release jobs
- Keep slackUrl parameter for future use
- Re-enable VCS triggers on all test configurations

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 09:18:10 +02:00
Alex PlateandClaude Opus 4.5 7a087fa650 Add Slack URL debug output
Check if ORG_GRADLE_PROJECT_slackUrl is set and add verbose curl output.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 09:09:54 +02:00