Skip to content

Refine CI artifact promotion and IntelliJ snapshot publishing#428

Merged
lagergren merged 37 commits into
masterfrom
lagergren/lsp-iteration3
Apr 14, 2026
Merged

Refine CI artifact promotion and IntelliJ snapshot publishing#428
lagergren merged 37 commits into
masterfrom
lagergren/lsp-iteration3

Conversation

@lagergren
Copy link
Copy Markdown
Contributor

@lagergren lagergren commented Apr 11, 2026

Summary

  • convert the snapshot CI path to staged artifact promotion instead of downstream source rebuilds
  • make IntelliJ snapshot publishing explicit and manual-only, with stable GitHub snapshot asset names and correct release retargeting
  • tighten provenance validation, workflow gating, summaries, and release/process documentation so the branch is safer to merge without changing default master behavior more than necessary
  • remove the stale Kotlin JDK split and build all Kotlin/build-logic outputs on JDK 25

What Changed

  • commit.yml now stages commit-scoped CI artifacts for the XDK ZIP, consumer Maven repo, snapshot Maven repo, and optional IntelliJ plugin bundle
  • integration-test consumes the staged consumer Maven repo artifact instead of rebuilding/publishing locally from source
  • publish-snapshot.yml consumes the staged snapshot Maven bundle and staged IntelliJ plugin bundle instead of rebuilding them from source
  • Docker and Homebrew continue to promote the CI-built XDK artifact, now with explicit source commit/run provenance validation through the shared download action
  • IntelliJ snapshot publishing is no longer automatic on master; it only runs via workflow_dispatch when explicitly requested and only when relevant lang/ or lib_ecstasy/**/*.x changes are present
  • GitHub IntelliJ snapshot assets now use stable names per base snapshot version and overwrite in place
  • release docs and workflow text were corrected to reflect manual promotion semantics
  • Kotlin build-toolchain configuration was simplified to JDK 25 across build logic and lang-side Kotlin outputs

Validation

  • default non-IntelliJ / non-publishing CI path remains lean and successful
  • manual non-IntelliJ snapshot publication path verified on this branch:
    • XDK snapshot GitHub release asset updated
    • GitHub Packages snapshots published
    • Maven Central Snapshots published
    • Docker downstream workflow succeeded
    • Homebrew downstream workflow succeeded
  • manual IntelliJ-enabled snapshot publication path verified on this branch:
    • staged IntelliJ artifact reused downstream
    • JetBrains Marketplace alpha publication succeeded
    • GitHub intellij-plugin-snapshots release updated with stable assets:
      • xtc-intellij-plugin-0.4.4-SNAPSHOT.zip
      • xtc-intellij-plugin-0.4.4-SNAPSHOT.zip.sha256
    • target_commitish now updates automatically to the producing commit
  • full root local build after the JDK 25 cleanup succeeded:
    • ./gradlew clean
    • ./gradlew build --console=plain
  • representative generated Kotlin/build-logic classfiles were checked on disk and are now Java 25 bytecode

Current Deliverables

Latest Validated Runs

Remaining Follow-ups

Tracked separately to keep this branch mergeable:

Merge Posture

  • the core snapshot-path artifact reuse work is complete enough to land
  • IntelliJ snapshot publishing is disabled by default and only available through manual workflow dispatch
  • the remaining work is release-flow parity, metadata/helper normalization, and CI cleanup/performance, not snapshot-path correctness

@lagergren lagergren force-pushed the lagergren/lsp-iteration3 branch from 9014a96 to a2e11a3 Compare April 14, 2026 14:05
@lagergren lagergren merged commit afa62e0 into master Apr 14, 2026
4 checks passed
@lagergren lagergren deleted the lagergren/lsp-iteration3 branch April 14, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants