#!/usr/bin/fish set img_idx 0 set is_quiet true set root_dir "." function build_image # First argument: (optional) remove parent image? (true or false) # Second argument: file name to build # Parse arguments if test (count $argv) -eq 2 set remove_previous $argv[1] set build_file $argv[2] else if test (count $argv) -eq 1 set remove_previous true set build_file $argv[1] end printf "Building $build_file...\n" docker build $root_dir \ --quiet=$is_quiet \ --build-arg BASE_CONTAINER=betalupi/jupyter-inter-$img_idx \ -f $build_file.Dockerfile \ -t betalupi/jupyter-inter-(math $img_idx + 1) date "+Finished at %Y-%m-%d %T" if $remove_previous printf "Done, cleaning up.\n\n" sleep 1 docker image rm betalupi/jupyter-inter-$img_idx else printf "Done. \n\n" end set img_idx (math $img_idx + 1) end date "+Build started at %Y-%m-%d %T" echo "" # Base image MUST be built first printf "Building base image...\n" docker build \ --quiet=$is_quiet \ --build-arg PYTHON_VERSION=3.10 \ -t betalupi/jupyter-inter-0 \ $root_dir/base printf "Done. \n\n" build_image false octave build_image false r build_image false julia #build_image false sage (BROKEN) build_image false plugins build_image false pymodules # Manim will not install under python 3.10. # 3.9 works (see arguments for base above) #build_image false manim # Rename final image docker image tag betalupi/jupyter-inter-(math $img_idx) git.betalupi.com/mark/jupyter docker image rm betalupi/jupyter-inter-(math $img_idx) echo "" date "+Build finished at %Y-%m-%d %T"