-
Notifications
You must be signed in to change notification settings - Fork 5
Buiding a deps image
The deps image is placed in:
proteinpaint/container/deps
The purpose of the deps image is to speed up the build process by already having prebuilt binaries, R and R libraries, Rust dependency, etc, so when ppserver
and ppfull
images are built, the built is faster, because the ppfull
and ppserver
image are built from the deps image.
In case a new binary, R library, Rust dependency, etc is added to the project, it should be added to the deps image:
proteinpaint/container/deps
To test the updated deps image locally, perform the following steps:
cd /container/deps
./version.sh deps
./build.sh"
The new deps image version named "ppfull:latest" and "ppserver:latest" should be added to
proteinpaint/container/ppfull/Dockerfile
ARG VERSION=latest
#########################
# Full app update
#########################
FROM ppfull:$VERSION
and:
proteinpaint/container/server/Dockerfile
ARG VERSION=latest
#########################
# Server-only app update
#########################
FROM ppserver:$VERSION
cd container
./pack.sh
./build2.sh -z server
./run.sh ppserver:NEW_VERSION # requires a serverconfig.json, read the NEW_VERSION from the list of docker images.
./build2.sh -z full
./run.sh ppfull:NEW_VERSION # requires a serverconfig.json, read the NEW_VERSION from the list of docker images.
It requires minimal serverconfig.json
in the container dir.
Example minimal serverconfig.json in the container dir
{
"tpmasterdir": "...",
"port": 3000,
"genomes": [
{
"name": "hg19",
"species": "human",
"file": "./genome/hg19.js",
"datasets": [
{
"name": "ClinVar",
"jsfile": "./dataset/clinvar.hg19.js"
}
]
},
{
"name": "hg38",
"species": "human",
"file": "./genome/hg38.js",
"datasets": [
{
"name": "ClinVar",
"jsfile": "./dataset/clinvar.hg38.js"
}
]
}
],
"backend_only": false,
"URL": "http://localhost:3456"
}
In case everything works as expected locally, release a new deps image using CI action. :
https://github.com/stjude/proteinpaint/actions/workflows/CD-publish-deps-image.yml
In case the build is successful, the deps image versions are updated inside of:
proteinpaint/container/ppfull/Dockerfile
ARG VERSION=NEW_VERSION
and:
proteinpaint/container/server/Dockerfile
ARG VERSION=NEW_VERSION
It's possible to read the new version here: github repo.
Start a new release using the github action.