Skip to content

Migrate build to Mill - #1

Merged
lavrov merged 1 commit into
masterfrom
vibe/migrate-to-mill-82c22e
Oct 10, 2026
Merged

lavrov merged 1 commit into
masterfrom
vibe/migrate-to-mill-82c22e

Conversation

@lavrov

@lavrov lavrov commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Migrated the build from sbt to Mill, following the same approach as the bittorrent repository's migration (commit c4db976): mill wrapper script (pinned via //| mill-version: 1.1.8 frontmatter), build.mill replacing build.sbt/project/, and removal of all sbt files
  • protocol is now a JVM-only Mill module. The sbt build cross-published protocolJS, but the bittorrent library no longer publishes Scala.js artifacts (common_sjs1_3 does not exist on Maven Central), so the Scala.js variant could not even resolve its dependencies; the webapp consumes only static assets and does not use protocolJS
  • Docker image now runs the Mill assembly jar (./mill server.assembly → out/server/assembly.dest/out.jar) instead of the sbt-native-packager stage directory
  • CI: build workflow compiles and assembles via ./mill; release workflow publishes via Mill's SonatypeCentralPublishModule (same as bittorrent, needs MILL_SONATYPE_USERNAME/PASSWORD and MILL_PGP_* secrets)
  • Added AGENTS.md with build commands, matching the bittorrent repository

Verification

  • ./mill __.compile — SUCCESS (protocol + server)
  • ./mill server.assembly — SUCCESS (40MB executable jar)
  • Smoke test: java -jar out.jar boots the server, DHT bootstrap runs

Note: the release workflow's secrets must be renamed from SONATYPE_CREDS/PGP_SECRET_KEY to the Mill ones (MILL_SONATYPE_USERNAME, MILL_SONATYPE_PASSWORD, MILL_PGP_SECRET_BASE64, MILL_PGP_PASSPHRASE) before the next tagged release.

Co-authored-by: lavrov <lavrov@users.noreply.github.com>
@lavrov
lavrov marked this pull request as ready for review October 10, 2026 14:30
@lavrov
lavrov merged commit 631bc57 into master Oct 10, 2026
1 check passed
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.

1 participant