On this page:
Pkg-Build:   Building and Testing All Racket Packages

Pkg-Build: Building and Testing All Racket Packages

The pkg-build library supports building all packages from a given catalog and using a given snapshot (i.e., installer plus snapshot’s packages). The build of each package is isolated through a virtual machine, using either Docker or VirtualBox, and the result is a set of built packages, a set of documentation, and package test results. For example, pkg-build is used to drive https://pkg-build.racket-lang.org/ and generate the content of https://docs.racket-lang.org/.

To successfully build, a package must
  • install without error;

  • correctly declare its dependencies (but incorrect declaration may work, anyway, if the build order happens to accommodate);

  • depend on packages that build successfully on their own;

  • refer only to other packages in the snapshot and catalog (and, in particular, must not use PLaneT packages);

  • build without special system libraries.

A successful build does not require that its declared dependencies are complete if the needed packages end up installed, anyway, but the declared dependencies are checked. Even when a build is unsuccessful, any documentation that is built along the way is extracted, if possible.