* Dockerfile to 3.9 * Python version * More python updates * 3.9 on GitHub actions and lint updates * Test out 3.9.11 on GitHub actions * install python with an action * formatting: newline * Also has python code * only check first level for changed modules Previous example (source-google-search-console/credentials) * Test failure: there is no logger.trace
39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
FROM python:3.9.11-alpine3.15 as base
|
|
|
|
# build and load all requirements
|
|
FROM base as builder
|
|
WORKDIR /airbyte/integration_code
|
|
|
|
# upgrade pip to the latest version
|
|
RUN apk --no-cache upgrade \
|
|
&& pip install --upgrade pip \
|
|
&& apk --no-cache add tzdata build-base
|
|
|
|
|
|
COPY setup.py ./
|
|
# install necessary packages to a temporary folder
|
|
RUN pip install --prefix=/install .
|
|
|
|
# build a clean environment
|
|
FROM base
|
|
WORKDIR /airbyte/integration_code
|
|
|
|
# copy all loaded and built libraries to a pure basic image
|
|
COPY --from=builder /install /usr/local
|
|
# add default timezone settings
|
|
COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
|
RUN echo "Etc/UTC" > /etc/timezone
|
|
|
|
# bash is installed for more convenient debugging.
|
|
RUN apk --no-cache add bash
|
|
|
|
# copy payload code only
|
|
COPY main.py ./
|
|
COPY source_{{snakeCase name}} ./source_{{snakeCase name}}
|
|
|
|
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
|
|
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]
|
|
|
|
LABEL io.airbyte.version=0.1.0
|
|
LABEL io.airbyte.name=airbyte/source-{{dashCase name}}
|