ci: publish also to the forge Maven registry #3

Merged
mph merged 1 commit from forge-registry into main 2026-07-14 15:50:05 +00:00
Owner

Summary

Adds the iterative-works Forgejo Maven registry as an additional publish target (Central and e-BS Nexus are both kept) and runs the publish automation on the forge runner.

  • mill-iw-support (publish.yml): publishes to the forge registry on every push to main (snapshot) and mill-v* tags (release). Keeps the PGP-signed Maven Central release on tags.
  • sbt plugins (publish-sbt.yml, new): publishes sbt-iw-plugin-presets + sbt-iw-projects to the forge registry on every push to main (snapshot) and v* tags (release). Keeps the e-BS Nexus release on tags. Uses sbt/setup-sbt (the runner image has no sbt).
  • build.sbt: IW_PUBLISH_TARGET selects the destination — nexus (default, unchanged local behaviour) or forge; adds forge credentials under realm Gitea Package API.

Validation

  • build.sbt publishTo verified locally: default → nexus.e-bs.cz/.../maven-snapshots, IW_PUBLISH_TARGET=forge → the Forgejo registry endpoint.
  • Merging to main exercises the forge snapshot path for both builds using only the existing MILL_MAVEN_* org secrets (Central/Nexus steps are tag-gated).

Before the next release tag

The Central publish must run on the forge runner, so these need to exist as forge org Actions secrets (currently only on GitHub):

  • MILL_SONATYPE_USERNAME, MILL_SONATYPE_PASSWORD, MILL_PGP_SECRET_BASE64 (Central, tag mill-v*)
  • EBS_NEXUS_USERNAME / EBS_NEXUS_PASSWORD already present (provisioned for iw-support) — the sbt Nexus release (tag v*) reuses them.

🤖 Generated with Claude Code

## Summary Adds the iterative-works Forgejo Maven registry as an **additional** publish target (Central and e-BS Nexus are both kept) and runs the publish automation on the forge runner. - **mill-iw-support** (`publish.yml`): publishes to the forge registry on every push to `main` (snapshot) and `mill-v*` tags (release). Keeps the PGP-signed **Maven Central** release on tags. - **sbt plugins** (`publish-sbt.yml`, new): publishes `sbt-iw-plugin-presets` + `sbt-iw-projects` to the forge registry on every push to `main` (snapshot) and `v*` tags (release). Keeps the **e-BS Nexus** release on tags. Uses `sbt/setup-sbt` (the runner image has no sbt). - **build.sbt**: `IW_PUBLISH_TARGET` selects the destination — `nexus` (default, unchanged local behaviour) or `forge`; adds forge credentials under realm `Gitea Package API`. ## Validation - `build.sbt` `publishTo` verified locally: default → `nexus.e-bs.cz/.../maven-snapshots`, `IW_PUBLISH_TARGET=forge` → the Forgejo registry endpoint. - Merging to `main` exercises the **forge snapshot** path for both builds using only the existing `MILL_MAVEN_*` org secrets (Central/Nexus steps are tag-gated). ## Before the next *release tag* The Central publish must run on the forge runner, so these need to exist as **forge org Actions secrets** (currently only on GitHub): - `MILL_SONATYPE_USERNAME`, `MILL_SONATYPE_PASSWORD`, `MILL_PGP_SECRET_BASE64` (Central, tag `mill-v*`) - `EBS_NEXUS_USERNAME` / `EBS_NEXUS_PASSWORD` already present (provisioned for iw-support) — the sbt Nexus release (tag `v*`) reuses them. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Adds the iterative-works Forgejo Maven registry as an additional publish
target alongside the existing ones, and runs the automation on the forge runner.

- mill-iw-support (publish.yml): publishes to the forge registry on every push
  to main (snapshot) and mill-v* tags (release); keeps the PGP-signed Maven
  Central release on tags.
- sbt plugins (publish-sbt.yml, new): publishes to the forge registry on every
  push to main (snapshot) and v* tags (release); keeps the e-BS Nexus release
  on tags.
- build.sbt: IW_PUBLISH_TARGET selects the destination (nexus default, or
  forge); adds forge credentials under realm "Gitea Package API".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mph merged commit 0f6ab0d95e into main 2026-07-14 15:50:05 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
iterative-works/iw-project-support!3
No description provided.