SUPP-24: Dual-publish to e-BS Nexus + GitHub Packages #27
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/support!27
Loading…
Reference in a new issue
No description provided.
Delete branch "SUPP-24"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
iw-supportwithout internal-network access.publish.shshell-script flow with a tag-driven GitHub Actions workflow (.github/workflows/publish.yml) that gates on./mill __.test, publishes snapshots to GitHub Packages on everymainpush, and publishes tagged releases to BOTH registries.build.millwith an explicit publishable / non-publishable trait split (BaseModuleCommonparent ofBaseModule/BaseModuleNoPublish; matchingBaseScalaJSModuleNoPublishandNoPublishCrossModule) so internal scenario modules are excluded from__.publishArtifactsby construction.//| repositories:Nexus directive frombuild.mill(verified:mill-iw-supportresolves from public Maven Central chain on a clean cache).PUBLISHING.mdfor the dual-publish flow and refreshesREADME.mdwith both consumer paths (Mill + sbt snippets, per-destination resolver blocks, GitHub PAT credentials guidance).Phase history
publish.shdeletion) — merged into the SUPP-24 feature branch via #26.This PR brings both phases from the feature branch into
main.Stage D — post-merge maintainer runbook (NOT part of this PR)
The release execution is intentionally deferred and must be performed manually after this PR merges:
EBS_NEXUS_USERNAME,EBS_NEXUS_PASSWORD) at the repository level. Required before the firstv*tag push — without them the Nexus publish step will fail. The snapshot path onmainworks without them (usesGITHUB_TOKENonly).main, run./mill resolve __.publishArtifactsand./mill __.publishLocalas sanity checks.CommonVersion.publishVersionatbuild.mill:40from"0.1.14-SNAPSHOT"to"0.1.14"in a small focused commit onmain. Push.git tag v0.1.14 && git push --tags. Watch the tag-triggered run:__.testgate, GH Packages step, then Nexus step (gated ongithub.ref_type == 'tag'). Confirm artifacts appear at both registries for the representative artifact set (iw-support-core,iw-support-tapir,iw-support-mongo,iw-support-sqldb,iw-support-server-http,iw-support-all).iw-support-core::0.1.14from Nexus. From a clean repo with a GitHub PAT (read:packages) in coursier credentials, resolve the same coordinates from GitHub Packages.Testing
Phase 1 verification (all green):
./mill __.compile— 3643/3643 success../mill __.test— 1560/1560 success../mill resolve __.publishArtifacts—scenarios.{jvm,js},formsScenarios.{jvm,js},filesUIScenarios.{jvm,js},scenariosUIcorrectly excluded../mill __.publishLocal— POMs land at~/.ivy2/local/works.iterative.support/iw-support-*/0.1.14-SNAPSHOT/;iw-support-core_3.pomorg/license/VCS/developer fields unchanged../mill resolve __.compileafter//|directive removal — success.Phase 2 verification:
./mill __.compilesmoke check after doc edits — success (3643 targets).PUBLISHING.mdcross-checked against.github/workflows/publish.yml: Nexus step gatedif: github.ref_type == 'tag', GH Packages step ungated; documented behaviour matches the workflow file.README.mdMillmvn"..."(::cross-version) and sbt%%snippets manually validated;works.iterative.support/iw-support-coreorg-and-artifact names spelled consistently.publish.shdeletion confirmed; pre-push hook re-ran./mill __.testclean.Code review for Phase 2 was skipped — the available code-review skills (
code-review-style,code-review-scala3,code-review-security, etc.) all explicitly target Scala per theirDO NOT USEclauses and don't apply to Markdown. Spec compliance was instead validated by readingPUBLISHING.mdandREADME.mdend-to-end againstphase-02-context.md"Component Specifications".Reviewer artifacts
project-management/issues/SUPP-24/review-packet.md— entry points, diagrams, scenarios, test summary.project-management/issues/SUPP-24/implementation-log.md— per-phase decisions and verification results.project-management/issues/SUPP-24/release-notes.md.Release notes (Czech, condensed)
Knihovna
iw-supportse nově publikuje dvojím způsobem — do interního registru e-BS Nexus a souběžně do GitHub Packages. Pro projekty v e-BS prostředí se nemění vůbec nic. Pro projekty mimo e-BS prostředí je nově k dispozici druhá cesta s GitHub PAT (read:packages). Tagovaná vydání míří do obou registrů; snapshoty pouze do GitHub Packages, takže e-BS Nexus obsahuje výhradně schválené verze.PUBLISHING.mdaREADME.mdbyly přepracovány;publish.shbyl odstraněn (sankcionovanou cestou je nyní GitHub Actions). Aktuální verze:0.1.14. Plné znění vproject-management/issues/SUPP-24/release-notes.md.🤖 Generated with Claude Code