3333fi
3434
3535CONTAINER_IMAGE=shiftcrypto/firmware_v2
36+ CONTAINER_VERSION=${CONTAINER_VERSION:- latest}
3637PROJECT_NAME=" $( basename " $( realpath " $DIR /.." ) " ) "
3738CONTAINER_NAME=" $PROJECT_NAME -$CONTAINER_NAME_SUFFIX "
3839
3940dockerdev () {
4041 local repo_path=" $DIR /.."
4142
42- if ! $RUNTIME images --filter " reference=${CONTAINER_IMAGE} " | grep -q " ${CONTAINER_IMAGE} " ; then
43- echo " No '${CONTAINER_IMAGE} ' ${RUNTIME} image found! Maybe you need to run
44- '${RUNTIME} build --platform linux/amd64 -- pull -t ${CONTAINER_IMAGE} . '?" >&2
43+ if ! $RUNTIME images --filter " reference=${CONTAINER_IMAGE} " | grep -q " ${CONTAINER_IMAGE} * ${CONTAINER_VERSION} " ; then
44+ echo " No '${CONTAINER_IMAGE} : ${CONTAINER_VERSION} ' ${RUNTIME} image found! Maybe you need to run
45+ '${RUNTIME} pull ${CONTAINER_IMAGE} : ${CONTAINER_VERSION} '?" >&2
4546 exit 1
4647 fi
4748
@@ -53,8 +54,18 @@ dockerdev () {
5354
5455 # If already running, enter the container.
5556 if $RUNTIME ps --filter " name=^${CONTAINER_NAME} $" | grep -q " $CONTAINER_NAME " ; then
56- $RUNTIME exec $USERFLAG --workdir=" $MOUNT_DIR " -it " $CONTAINER_NAME " bash
57- return
57+ id_running=$( ${RUNTIME} inspect ${CONTAINER_NAME} | jq -r ' .[0].Image' )
58+ id_wanted=$( ${RUNTIME} inspect ${CONTAINER_IMAGE} :${CONTAINER_VERSION} | jq -r ' .[0].Id' )
59+ # If requested version is same as running version, enter container
60+ if ! [ $id_wanted == $id_running ] ; then
61+ echo " Currently running container is not the same version as the requested version"
62+ echo " Requested version ${CONTAINER_IMAGE} :${CONTAINER_VERSION} ($id_wanted )"
63+ echo " Current version $( ${RUNTIME} inspect ${CONTAINER_NAME} | jq -r ' .[0].Config.Image' ) ($id_running )"
64+ exit 1
65+ else
66+ $RUNTIME exec $USERFLAG --workdir=" $MOUNT_DIR " -it " $CONTAINER_NAME " bash
67+ return
68+ fi
5869 fi
5970
6071 if $RUNTIME ps --all --filter " name=^${CONTAINER_NAME} $" | grep -q " $CONTAINER_NAME " ; then
@@ -68,7 +79,7 @@ dockerdev () {
6879 --name=" $CONTAINER_NAME " \
6980 -v " $repo_path " :" $MOUNT_DIR " \
7081 --cap-add SYS_PTRACE \
71- ${CONTAINER_IMAGE} bash
82+ ${CONTAINER_IMAGE} : ${CONTAINER_VERSION} bash
7283
7384 if [ " $RUNTIME " = " docker" ] ; then
7485 # Use same user/group id as on the host, so that files are not created as root in the
0 commit comments