How to compare a variable and set the value in alpine linux

Never wrote any shell script before but after extensively googling it I came up with the following code for my docker file. But don’t understand why is it doesn’t work.

###stage 2####################
FROM nginx:alpine

##########Calculate the environment type #########
ARG BUILD_TYPE

####echo of build build_type does gives me output of Development when passed argument is Development.
RUN if [ "$BUILD_TYPE" = "Development" ]; then BUILD_TYPE='dev'; fi
RUN if [ "$BUILD_TYPE" = "Production" ]; then BUILD_TYPE='prod'; fi
RUN echo "UI BUILD_TYPE=$BUILD_TYPE---------"
##########Calculate the environment type #########

The above echo always comes as Development.

UPDATE

Now I built a sample in a separate docker file to isolate the issue. After this I realised that the assignment is not happening though the condition matched.

Here is the new sample docker file code.

FROM nginx:alpine

ARG BUILD_TYPE
ARG ENV_TYPE

RUN if [ "$BUILD_TYPE" = "Development" ]; then ENV_TYPE='dev'; echo "matched dev"; fi
RUN if [ "$BUILD_TYPE" = "Production" ]; then ENV_TYPE="prod"; echo "matched prod"; fi
RUN echo "UI BUILD_TYPE=$BUILD_TYPE ENV_TYPE = $ENV_TYPE---------"

The output is

  1. matched dev
  2. UI BUILD_TYPE=Development ENV_TYPE = ———

I see ENV_TYPE is empty.

Source: StackOverflow