Skip to content

Deterministic Compilation / Reproducible Builds #405

Closed
@heartsucker

Description

@heartsucker

This issue is being opened in response to this thread.

I want to have reproducible artifacts output from scalac and sbt so that I can:

  1. Have multiple, independent CI servers generate a build, sign it, and require multiple signatures for any artifact to be valid later in a pipeline
  2. Have independent sources be able to compile and verify that the output JAR / class files are identical to what they compiled locally

Because this could be complicated by faffing about too much with a build.scala like embedding the current time somewhere, let's assume that not all builds will be reproducible and that doing so might require minimal tweaking.

It would be a stretch to require incremental compilation to be reproducible, so what would be sufficient is that any sbt clean compile outputs the exact same things.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions