PheKnowLator icon indicating copy to clipboard operation
PheKnowLator copied to clipboard

GitHub Actions -- Docker build-push-action failing

Open callahantiff opened this issue 1 year ago • 3 comments

Problem

  • Associated PR/Branch: #136

@bill-baumgartner -- hoping to see if you might see something I am missing. The Docker build-push-action part of the GitHub Actions QC run is failing with the following error message:

Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c apt-get update && apt-get install -y     apt-transport-https     software-properties-common     unzip     curl" did not complete successfully: exit code: 100

You can see the logs for the failed builds here:

Details

I have updated the GitHub Action script to make sure that we are using the latest version of everything and have ensured that we are still following the suggested workflow, which we are. In case you are curious, the latest requirements are listed here: https://github.com/docker/build-push-action.

Associated Scripts/Files

callahantiff avatar Mar 12 '23 03:03 callahantiff

I was able to reproduce the error with a local Docker build. It appears that Debian 8 has reached end-of-life, and that's causing an issue summarized here. It looks like python 3.6.2 has also reach end of life. Can we move to a new version of python, which will also move us to a new version of Debian? FWIW - the container builds when using FROM python:3.11.2, however I don't know if that will have downstream ramifications when building a KG.

bill-baumgartner avatar Mar 16 '23 23:03 bill-baumgartner

Thanks so much @bill-baumgartner. I really appreciate your help on this and for discussing this further with me today. I am recording our plan here:

  • First, try to update the Docker container such that we start from the latest version of Debian and then download Python 3.6.2.
  • If that does not work, we can try to migrate all of the code to a newer version of Python.

Update:
There are good examples of what we want in this post. I think in theory, all we need to do is modify the top of our file (Dockerfile) to include the following:

FROM debian:bullseye
RUN apt-get update -y \
    && apt-get upgrade -y \
    && apt-get -y install build-essential \
        zlib1g-dev \
        libncurses5-dev \
        libgdbm-dev \
        libnss3-dev \
        libssl-dev \
        libreadline-dev \
        libffi-dev \
        libsqlite3-dev \
        libbz2-dev \
        wget \
    && export DEBIAN_FRONTEND=noninteractive \
    && apt-get purge -y imagemagick imagemagick-6-common
# install python 3.6.2
RUN wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz \
    && tar xvf Python-3.6.2.tar.xz \
    && rm Python-3.6.2.tar.xz \
    && cd Python-3.6.2 \
    && ./configure \
    && make altinstall \
    && cd / \
    && rm -rf Python-3.6.2
....

callahantiff avatar Mar 17 '23 19:03 callahantiff

@bill-baumgartner -- Just a quick update. I think that I have addressed the initial error caused by Python 3.6.2 (see updated code snippet above). That said, it does seem to generate a lot of warnings. Not sure it is a problem or not. Suppose we will know once we try to launch a new build.

The branch I created to work on this is called: docker-dev

I am now getting an error when running trying to install Java (see error log here). Maybe we can take a look at this together when we meet next week?

buildx failed with: ERROR: failed to solve: process "/bin/sh -c wget -O- https://apt.corretto.aws/corretto.key | apt-key add - &&     add-apt-repository 'deb https://apt.corretto.aws stable main' &&     apt-get update &&     apt-get install -y java-1.8.0-amazon-corretto-jdk" did not complete successfully: exit code: 127

callahantiff avatar Mar 24 '23 22:03 callahantiff