diff --git a/Dockerfile b/Dockerfile index ba9604b4..7b5f04d1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,13 +10,44 @@ FROM base AS lint ENV WORKDIR=/app WORKDIR ${WORKDIR} -COPY ./src ${WORKDIR}/src RUN apk add --update --no-cache make nodejs npm RUN apk add --update --no-cache yamllint RUN npm install -g --ignore-scripts markdownlint-cli RUN npm install -g --ignore-scripts pyright +# [!TIP] Use a bind-mount to "/app" to override following "copys" +# for lint and test against "current" sources in this stage + +# YAML sources +COPY ./.github ${WORKDIR}/ +COPY ./compose.yaml ${WORKDIR}/ + +# Markdown sources +COPY ./docs ${WORKDIR}/ +COPY ./README.md ${WORKDIR}/ +COPY ./LICENSE.md ${WORKDIR}/ +COPY ./CODE_OF_CONDUCT.md ${WORKDIR}/ + +# Code source +COPY ./src ${WORKDIR}/ +COPY ./requirements.txt ${WORKDIR}/ +COPY ./setup.cfg ${WORKDIR}/ +COPY ./Makefile ${WORKDIR}/ + +# markdownlint conf +COPY ./.markdownlint.yaml ${WORKDIR}/ + +# yamllint conf +COPY ./.yamllint ${WORKDIR}/ +COPY ./.yamlignore ${WORKDIR}/ + +# pylint and covergae +COPY ./.pylintrc ${WORKDIR}/ +COPY ./.coveragerc ${WORKDIR}/ + +CMD ["make", "lint"] + ############################################################################### FROM base AS development @@ -46,7 +77,6 @@ ENV BRUTEFORCE=false WORKDIR /app -COPY ./.pylintrc ${WORKDIR}/ COPY ./.coveragerc ${WORKDIR}/ RUN ls -alh @@ -68,8 +98,6 @@ RUN chown worker:worker /app WORKDIR /app -COPY ./.pylintrc ${WORKDIR}/ -COPY ./.coveragerc ${WORKDIR}/ RUN ls -alh USER worker diff --git a/LICENSE b/LICENSE.md similarity index 98% rename from LICENSE rename to LICENSE.md index 86e7d055..782288c0 100644 --- a/LICENSE +++ b/LICENSE.md @@ -1,4 +1,4 @@ -MIT License +# MIT License Copyright (c) 2022 Gonzalo Diaz diff --git a/Makefile b/Makefile index d7867351..4a8b92cc 100644 --- a/Makefile +++ b/Makefile @@ -82,14 +82,17 @@ test/styling: dependencies ${RUNTIME_TOOL} -m pycodestyle --statistics src/ test: env dependencies - ${RUNTIME_TOOL} -m pytest --verbose -o log_cli=true --log-cli-level=${LOG_LEVEL} --full-trace src/ + ${RUNTIME_TOOL} -m coverage run -m \ + pytest --verbose \ + -o log_cli=true \ + --log-cli-level=${LOG_LEVEL} \ + --full-trace src/ + ${RUNTIME_TOOL} -m coverage report -coverage: dependencies - ${RUNTIME_TOOL} -m coverage run -m pytest --verbose src/ +coverage: test ${RUNTIME_TOOL} -m coverage lcov -o coverage/lcov.info - ${RUNTIME_TOOL} -m coverage report -coverage/html: coverage +coverage/html: test ${RUNTIME_TOOL} -m coverage html outdated: