diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eec941d..8966c6c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,7 +50,8 @@ Build/Cache Python Packages: --platform=$DOCKER_IMAGE_BUILD_TARGET_PLATFORMS . \ --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN \ --build-arg CI_API_V4_URL=$CI_API_V4_URL \ - --build-arg CI_PROJECT_ID=$CI_PROJECT_ID + --build-arg CI_PROJECT_ID=$CI_PROJECT_ID \ + --progress plain rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' when: never diff --git a/dockerfile-build_cache b/dockerfile-build_cache index ac76162..107a6bd 100644 --- a/dockerfile-build_cache +++ b/dockerfile-build_cache @@ -6,78 +6,90 @@ ARG CI_PROJECT_ID ENV LC_ALL en_US.UTF-8 + ENV PATH /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.cargo/bin::~/.cargo/bin -RUN export DEBIAN_FRONTEND=noninteractive \ - && dpkg-reconfigure debconf -f noninteractive +ENV DEBIAN_FRONTEND noninteractive -RUN apt update \ - # SoF fixing dpkg ldconfig not found error - && cd /tmp \ + +RUN dpkg-reconfigure debconf -f noninteractive + + +RUN apt update + +# SoF fixing dpkg ldconfig not found error +# Download Binary +RUN cd /tmp \ && apt-get download \ - libc-bin \ - && dpkg --extract ./libc-bin_*.deb /tmp/deb \ - && cp /tmp/deb/sbin/ldconfig /sbin/ \ - && rm -Rf /tmp/deb \ - && rm libc-bin_*.deb \ - && apt-get install --reinstall \ - libc-bin \ - # EoF fixing dpkg ldconfig not found error - # Set Locale to en_US as ansible requires a locale for it to function without chucking a tantrum!! - && apt install --reinstall -yq \ - git \ + libc-bin + +RUN ls -la + +# Extract Binary +RUN cd /tmp; \ + dpkg --extract $(ls | grep libc-bin_ | grep -a '.deb') /tmp/deb; ls -laR + +# # Extracted? +# RUN ls -laR + +# Copy to home location +RUN cp /tmp/deb/sbin/ldconfig /sbin/ + +# Confirm present +RUN ls -l /sbin/ldconfig + +# Confirm can be found +RUN which ldconfig + +# Cleanup +# RUN rm -Rf /tmp/deb \ +# && rm libc-bin_*.deb + +# Should re-install without issue +RUN apt-get install --reinstall \ + libc-bin +# EoF fixing dpkg ldconfig not found error +# Set Locale to en_US as ansible requires a locale for it to function without chucking a tantrum!! + + +RUN apt install -yq \ + build-essential \ + cargo \ curl \ - rustc cargo \ - libpq-dev || true - - -RUN mkdir -p /tmp/python_modules /tmp/python_builds + git \ + libffi-dev \ + libpq-dev \ + libssl-dev \ + mariadb-client \ + openssh-client \ + pkg-config \ + postgresql-client \ + postgresql-common \ + python3-dev \ + rustc RUN rustc --version \ && cargo --version -RUN export DEBIAN_FRONTEND=noninteractive \ - && apt update \ - && apt --fix-broken install \ - && apt install -y libc-bin locales-all \ - && apt update \ - && apt install --reinstall -yq \ - openssh-client \ - git || true \ - && dpkg --purge --force-all libc-bin \ - && apt-get install -y \ - openssh-client \ - git \ - postgresql-common \ - postgresql-client \ - mariadb-client \ - build-essential - - -RUN export DEBIAN_FRONTEND=noninteractive \ - && apt update \ - && apt install --no-install-recommends -yq libc-bin locales-all \ - && apt-get install --reinstall -yq \ - build-essential \ - libssl-dev \ - libffi-dev \ - python3-dev \ - cargo \ - pkg-config \ - libpq-dev || true RUN pip install --upgrade pip + RUN pip install --upgrade \ setuptools \ wheel \ setuptools-rust \ twine + COPY requirements.txt /tmp/requirements.txt + +RUN mkdir -p /tmp/python_modules /tmp/python_builds + + RUN cd /tmp/python_modules \ && pip download --dest . --check-build-dependencies \ -r /tmp/requirements.txt @@ -88,5 +100,8 @@ RUN cd /tmp/python_modules \ && echo "[DEBUG] PATH=$PATH" \ && pip wheel --wheel-dir /tmp/python_builds --find-links . *.whl +RUN cd /tmp; \ + ls -laR + RUN TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --verbose --skip-existing --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi /tmp/python_builds/*