mirror of
https://github.com/scito/extract_otp_secret_keys.git
synced 2025-12-06 06:44:57 +01:00
* ci: fix digest artifact names for multi-platform Docker builds * ci: remove unused platforms parameter from Docker build steps * ci: push Docker images exceptionally on feature branch * ci: update Dockerfile to include uname command and fix label formatting * ci: update CI workflow to set platforms dynamically for Docker builds * ci: disable arm64 docker * ci: only arm64 docker * ci: update CI workflow for multiarch Docker builds and manifest creation * ci: add multiarch manifest creation * ci: fix multiarch manifest for loop * ci: restore push conditions for Docker image builds * ci: restore push conditions for Docker image builds
49 lines
1.8 KiB
Text
49 lines
1.8 KiB
Text
ARG BASE_IMAGE=python:3.13-alpine
|
|
FROM $BASE_IMAGE
|
|
|
|
# https://docs.docker.com/engine/reference/builder/
|
|
|
|
# For debugging
|
|
# docker run --rm -v "$(pwd)":/files:ro extract_otp_secrets_only_txt
|
|
# docker build . -t extract_otp_secrets_only_txt -f Dockerfile_only_txt --pull --build-arg RUN_TESTS=false
|
|
# docker run --entrypoint /bin/ash -it --rm -v "$(pwd)":/files:ro extract_otp_secrets_only_txt -l
|
|
# docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secrets_only_txt extract_otp_secrets_test.py -k "not qreader" --relaxed -vvv -s
|
|
|
|
# https://github.com/pypa/manylinux/blob/main/docker/Dockerfile
|
|
|
|
WORKDIR /extract
|
|
|
|
COPY requirements*.txt src/ run_pytest.sh pytest.ini tests/ example_*.txt example_*.png example_*.csv example*.json docker/.alias ./
|
|
|
|
ARG RUN_TESTS=true
|
|
|
|
RUN uname -a \
|
|
&& apk add --no-cache \
|
|
jpeg \
|
|
zlib \
|
|
&& echo "Arch: $(apk --print-arch)" \
|
|
&& if [[ "$(apk --print-arch)" == "aarch64" ]]; then apk add --no-cache --virtual .build-deps \
|
|
gcc \
|
|
jpeg-dev \
|
|
libc-dev \
|
|
py3-setuptools \
|
|
python3-dev \
|
|
zlib-dev \
|
|
; fi \
|
|
&& pip install --no-cache-dir -U \
|
|
pip \
|
|
colorama \
|
|
Pillow \
|
|
protobuf \
|
|
qrcode \
|
|
&& if [[ "$(apk --print-arch)" == "aarch64" ]]; then apk del .build-deps; fi \
|
|
&& if [[ "$RUN_TESTS" == "true" ]]; then /extract/run_pytest.sh extract_otp_secrets_test.py -k "not qreader" --relaxed; else echo "Not running tests..."; fi \
|
|
&& echo 'test -s /extract/.alias && . /extract/.alias || true' >> ~/.profile
|
|
|
|
WORKDIR /files
|
|
|
|
ENTRYPOINT ["python", "/extract/extract_otp_secrets.py"]
|
|
|
|
LABEL org.opencontainers.image.source=https://github.com/scito/extract_otp_secrets
|
|
LABEL org.opencontainers.image.license=GPL-3.0+
|
|
LABEL maintainer="Scito https://scito.ch, https://github.com/scito"
|