Skip to content

Conversation

@abbywh
Copy link
Contributor

@abbywh abbywh commented Oct 13, 2025

Summary

Wanted to try out mill, it mostly worked off ./mill init

Why / Goal

Trying out mill just for fun.

Test Plan

  • Added Unit Tests
  • Covered by existing CI
  • Integration tested

Checklist

  • Documentation update

Reviewers

@abbywh
Copy link
Contributor Author

abbywh commented Oct 13, 2025

If we actually do mill it needs to be baked into the image I think

@abbywh abbywh force-pushed the awhittier/mill branch 2 times, most recently from 174ed3e to 83e4cc7 Compare October 13, 2025 23:49
…ation

Add Mill build configuration alongside existing sbt build:
- Mill package.mill files for all modules (api, aggregator, online, spark, flink, service)
- Thrift code generation for Java (api module)
- Python Thrift generation and wheel building commands
- CircleCI jobs for Mill compilation, tests, and Python API builds
- prepareScalaSources command to handle scala-2.12 version-specific sources

Mill commands:
  ./mill api.prepareScalaSources  # Copy scala-2.12 sources (one-time setup)
  ./mill <module>.compile          # Compile modules
  ./mill <module>.test             # Run tests
  ./mill generatePythonThrift      # Generate Python Thrift files
  ./mill buildPythonApi            # Build Python wheel

Test fixes:
- Migrate test modules from ScalaTest to JUnit4 (tests use JUnit annotations)
- Fix Mockito verification in FetcherCacheTest
- Fix MetadataExporterTest to use filesystem path instead of JAR resource
- Update Python build script to use venv

Both Mill and sbt build systems work simultaneously.
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