The Heroku Elixir Buildpack uses pre-compiled builds of Erlang OTP for fast deployments. The binaries it uses are built and stored in this repository. Erlang is compiled in a GitHub action that uses the official Heroku Docker images to ensure maximum compatability. After a given version of Erlang is compiled, it is saved as a GitHub release asset.
This repo has a workflow that should run every 20 minutes that builds any new OTP releases.
The code in release_sync/Rakefile
handles the sync interactions with the GitHub API.
- Create a
heroku-xx.Dockerfile
in thestacks
directory. - Add the new version to the
.github/workflows/build-new-release.yml
file in thecache-docker-images
andbuild
jobs.
A special thanks to everyone who worked on the original version of this build system. This version was built in ~5 hours, and that wouldn't have been possible without using the original as a reference point.
This project is licensed under the Apache 2.0 license, see the full text here.
© Kaz Walker 2020