Build alignment algorithm binaries on heroku so that we could run them from the main alignment app. Based on this repo: link.
- Heroku documentation on buildpacks: link.
- A detailed blog about how to use custom buildpacks: link.
- Note: there is one outdated info in this post about setting
$PATH
environment variable.- Setting up
$PATH
fromrelease
script usingconfig_vals
is no longer supported. - Using
profile.d
scripts is the new recommended way: link
- Setting up
- Note: there is one outdated info in this post about setting
- Currently supporting 3 main algorithms:
- They all have pre-compiled binaries for major platforms, we download the ones for:
- Mac-64: for local dev environment
- linux-64: for server
- Then we do some pre-processings to change the file names and compress files. TODO: add script here
- Upload the processed
tar.gz
files to Amazon S3, under the bucket:sif-sprint/alignment_algorithms
and make them publically available (NOTE: this is required, since custom buildpack need to have access to download them, also there is really no confidential data in them.) - During app building process, at the compile step, these binaries will be downloaded from S3, stored in the correct folder(
vendor
) with correct names. At the end of compilation, we appendvendor
folder to the$PATH
environment variable.