-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: add docker container #27
Conversation
Here we only keep `artifacts` and `conda` from `~/.julia` directory, instead of the whole thing.
1191b20
to
710021b
Compare
fixed up recipe dependencies so that everything runs in correct order removed unneeded elements from dockerfile after makefile simplified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great. Tested commands on my end and everything works as expected.
@ivan-aksamentov, do you want to verify that my last commit works on your end? It's an attempt to simplify the build |
5d2f747
to
bc6e4e7
Compare
@nnoll I cleaned up some more and added a few things, notably running as non-root user: docker run --rm -it \
--name "pangraph-$(date +%s)" \
--user="$(id -u):$(id -g)" \
--volume="$(pwd):/workdir" \
--workdir=/workdir \
neherlab/pangraph:latest \
bash -c "pangraph build --circular --alpha 0 --beta 0 /workdir/data/synthetic/test.fa | tee graph.json && pangraph polish graph.json | tee graph2.json" This ensures that files written not as root, but as user |
Overall the current thing works. I have nothing to add. My impression is that Julia ecosystem is not ready for production quite yet. Science is great, but if you cannot ship it or if it's a pain to use, then it's not very useful. The 30 min single-threaded compilation is awful. Regarding the PR, if there are no defects introduced to the usual dev and non-docker experience, then feel free to merge and make a release (see The followup work may address the following:
Screenshot of dive: |
CI seems to be working as expected: https://github.com/neherlab/pangraph/runs/5607003707?check_suite_focus=true the new tag |
This adds docker container image and CI that builds and publishes it.
Notable hacks in the Dockerfile:I had to download julia in advance in order to run some jula before make. I use the same command as in makefile. This should go.ThePATH
variable contains julia version, because julia is installed into a directory containing version number. This will make it hard to upgrade the version.I added instantiate and build calls.I also install Conda.jl and then ete3Work items: