FROM 086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:python311 AS base
USER root

RUN apt update && apt upgrade -y
RUN apt install -y make git

WORKDIR /app

ENV IS_DOCKER=true
ENV PYTHONPATH="$PYTHONPATH:/app"
ENV GIT_PYTHON_REFRESH=quiet

RUN python -m pip install --no-cache-dir --upgrade pip setuptools wheel

FROM base AS deploy

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

RUN apt install wget && apt install unzip
RUN wget https://bstack-local-prod.s3.amazonaws.com/binaries/v8.5.0/BrowserStackLocal-linux-x64.zip && unzip BrowserStackLocal-linux-x64.zip && rm BrowserStackLocal-linux-x64.zip && chmod +x ./BrowserStackLocal
COPY package.json .
COPY yarn.lock .
RUN apt-get install -y curl \
  && curl -sL https://deb.nodesource.com/setup_18.x | bash - \
  && apt-get install -y nodejs \
  && npm install -g npm

RUN npm install -g yarn
RUN yarn install

COPY features ./features
COPY helpers ./helpers
COPY page_objects ./page_objects
COPY browserstack_android_caps.json .
COPY browserstack_ios_caps.json .
COPY Makefile .
COPY run.py .
COPY scripts ./scripts
COPY browserstack.yml .
COPY .en? .

RUN mkdir browserstack-artifacts
RUN mkdir junit


FROM base AS lint
COPY requirements.txt .
RUN pip install flake8==7.3.0
COPY features ./features
COPY helpers ./helpers
COPY page_objects ./page_objects
COPY browserstack_android_caps.json .
COPY browserstack_ios_caps.json .
COPY Makefile .
COPY run.py .
COPY scripts ./scripts
COPY browserstack.yml .

RUN mkdir browserstack-artifacts
RUN mkdir junit
ENTRYPOINT make lint
