Skip to content

Latest commit

 

History

History
46 lines (31 loc) · 1.28 KB

release.md

File metadata and controls

46 lines (31 loc) · 1.28 KB

Building and Releasing

The toolchain repo is based on two Docker images:

  • faasm/llvm - the base image holding just the custom LLVM tools
  • faasm/cpp-sysroot - the image holding both the tools and sysroot

See the Actions page and Dockerfiles for more info.

You only need to rebuild the llvm image when upgrading LLVM (see the docs.

The cpp-sysroot image is rebuilt as part of the CI and tagging process.

Release build

The release build will run the cpp-sysroot build and push the Docker image to Dockerhub.

To do this:

  • Create a branch with your changes
  • Update the code version running inv git.bump
  • Push this to your branch
  • Run inv git.tag to create the tag (from the head of the current branch)
  • Let the CI build run through and build the container
  • Once done, create a PR, which will run the tests against the new image

Rebuilding llvm

You should only need to manually rebuild the llvm image, the cpp-sysroot image is built through GH Actions.

# Build the llvm image (and push it optionally)
inv docker.build -c llvm [--push]

Rebuilding cpp-sysroot

If you do want to build cpp-sysroot locally (e.g. for debugging issues):

inv docker.build -c cpp-sysroot