ci: publish Maven artifacts and p2 update site#1311
Conversation
a116cf3 to
1c3237f
Compare
|
(This comment was drafted by Claude on João's behalf.) @rubenporras — flagging a one-time setting change this PR needs from an admin (João only has Settings → Pages → Source → "Deploy from a branch" → Recommended sequence:
Without step 3 the workflow keeps pushing to |
4b14ce9 to
594a6de
Compare
Pull request was converted to draft
ed6f668 to
7f8e643
Compare
05fe753 to
156d6bf
Compare
156d6bf to
d3d8e18
Compare
391517a to
23f78dd
Compare
Versioning strategy: lockstep vs. per-module — analysis and recommendationLeft by Opus at João's request. This PR releases all DDK modules under a single version number. This note explains why, with references to how other Eclipse/OSGi projects approach the same question. The two approaches
Why lockstep is the right choice for DDK
What this workflow provides instead of per-module decouplingRather than splitting the release granularity (high cost, low payoff for OSGi), this PR reduces release friction within lockstep:
|
Proposed rework: dispatch-based releases, smart versioning, snapshot retentionLeft by Opus at João's request. This PR is being reworked to add three capabilities. Posting the design here for visibility before implementing. Release mechanism
Smart version bumping
p2 snapshot retention
What stays the same
Patch release workflow (new)Release branches are created on demand:
Edge cases handled
|
5337a7c to
5a40e6a
Compare
On every push to master, build and deploy SNAPSHOT artifacts, publish the p2 update site to gh-pages (last 20 snapshots retained by SHA). Releases are triggered via workflow_dispatch (one-click) or by pushing a v* tag. The workflow creates GitHub Releases, maintains a p2/releases/latest/ alias (highest semver, not most recent), and opens a version-bump PR with smart logic encoding the project's 0-4 minor cycle. Patch releases from release branches are supported via tag push. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5a40e6a to
6119f38
Compare
|
Superseded by #1357 |
Summary
p2/snapshots/<sha>/(last 20 retained)workflow_dispatch(one-click button) or by pushing av*tag — strips SNAPSHOT, builds, deploys, publishes top2/releases/<version>/, creates a GitHub Release with the zipped update sitep2/releases/latest/: always points at the highest semver release, regardless of publish orderv*tag from arelease/X.Y.xbranch — the bump PR targets the release branch, not masterddk-repositoryis pushed to Maven packagesRelease types
17.3.017.4.0-SNAPSHOT→ PR against master17.4.018.0.0-SNAPSHOT→ PR against masterrelease/X.Y.x17.3.117.3.2-SNAPSHOT→ PR againstrelease/17.3.xRequired one-time setting (admin action)
After merging, Pages must be enabled:
Settings → Pages → Source → "Deploy from a branch" →
gh-pages/(root)The first workflow run on master creates the
gh-pagesbranch. Flip the setting after that.p2 Repository URLs
https://dsldevkit.github.io/dsl-devkit/p2/snapshots/latest/https://dsldevkit.github.io/dsl-devkit/p2/snapshots/<sha>/https://dsldevkit.github.io/dsl-devkit/p2/releases/latest/https://dsldevkit.github.io/dsl-devkit/p2/releases/{version}/Fork verification (joaodinissf/dsl-devkit)
All scenarios tested end-to-end:
latestafter patch (semver sort)🤖 Generated with Claude Code