Repository navigation
chore(deps): group Renovate updates into fewer PRs - #69
Merged
Merged
Conversation
The launcher builds with a Java 17 toolchain, so the cap for Java 8 no longer applies.
Each supported MPS release line now has its own property, supportedMpsVersion.<line>=<version>, instead of one comma-separated list. Per-platform tasks and configurations are named by release line (for example testMps2025.1), so their names stay the same across patch updates. MpsPlatform keeps the full version for the launcher.
Group non-major Gradle updates, Gradle majors, test framework majors, GitHub Actions (majors included), the MPS compile version, and the MPS test versions. Track the supportedMpsVersion.<line> properties with a custom manager whose versioning keeps each entry on its own release line. The prerelease gets any update in the same PR. Disable lock file maintenance, as the repository has no lock files.
…rsion Matches the naming of the supportedMpsVersion.<line> properties.
The prerelease platform's tasks and configurations are named Prerelease (for example testMpsPrerelease), so their names stay the same across prerelease updates. The integration test matrix is keyed by platform name, like the task names. Gradle checks that each supportedMpsVersion.<line> value is from its release line. Renovate lock file maintenance is left at its default.
Prerelease builds are deleted from the repository after a few weeks, so waiting for the monthly schedule could leave the build on a deleted prerelease.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Renovate PRs, as listed on the dependency dashboard (#68):
All groups run on the monthly schedule, except "MPS test versions", which runs at any time: prerelease builds are
deleted from the repository after a few weeks.
The supported MPS versions move to one property per release line, so Renovate can track each entry with a plain
regex manager. Its versioning uses a
compatibilitygroup, so each entry only gets patches of its own line:Per-platform tasks and configurations are named by release line, and the prerelease platform is named
Prerelease, sothe names stay the same across updates:
Gradle fails if a value is not from its release line, for example
supportedMpsVersion.2025.1=2024.1.6.MpsPlatformgets anamefield.mpsVersionstays the full version, because it's passed to the launcher. The CImatrix comes from the property keys. A new release line is one new property, for example
supportedMpsVersion.2026.2=2026.2.The launcher's Mockito cap
[4.11.0,5)("does not support Java 8") is gone: the launcher builds with Java 17.Evidence
Renovate:
renovate-config-validator --strictpasses. Localrenovate --platform=local --dry-run=lookup:Before: 19 branches on the dashboard;
supportedMpsVersionsnot tracked.After: 7 PR branches, plus lock file maintenance, which has nothing to change. MPS test versions:
With
supportedMpsPrereleaseVersionset to an older major (262.9437.420, only for the test), the prerelease goes to263.6259.106 in the same PR. 2024.1, 2025.1 and 2026.1 get no updates: no newer patches, and no EAP or RC builds.
Gradle:
tasks --allliststestMps2023.2…testMps2026.1andtestMpsPrereleasein integration-tests,migrate and remigrate. The configurations resolve
com.jetbrains:mps:2023.2.2,2026.1.1andmps-prerelease:263.6259.45.:remigrate:testMps2026.1and:integration-tests:executeTestExitCodeNoArgumentsWithMps2026.1pass.testMpsPrereleasedepends only onprerelease tasks.
CI matrix: the new
jqstep gives["2023.2","2024.1","2025.1","2026.1","Prerelease"].Merge Danger
Blast Radius: CI
The CI job names and the per-version Gradle task names change, for example
testMps2025.1.4→testMps2025.1andtestMps263.6259.45→testMpsPrerelease. Ifbranch protection names the matrix jobs instead of the
buildjob, update it. Published artifacts don't change.