| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 1 | FROM ghcr.io/boldsoftware/sketch:99a2e4afe316b3c6cf138830dbfb7796 |
| David Crawshaw | be10fa9 | 2025-04-18 01:16:00 -0700 | [diff] [blame] | 2 | |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 3 | ARG GIT_USER_EMAIL |
| 4 | ARG GIT_USER_NAME |
| 5 | |
| 6 | RUN git config --global user.email "$GIT_USER_EMAIL" && \ |
| David Crawshaw | ca53558 | 2025-05-03 13:04:34 -0700 | [diff] [blame] | 7 | git config --global user.name "$GIT_USER_NAME" && \ |
| 8 | git config --global http.postBuffer 524288000 |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 9 | |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 10 | LABEL sketch_context="7c933e98fc1d5fd35f964b6cf115bcf65b580c378069d078ab66723b2b1073c4" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 11 | COPY . /app |
| David Crawshaw | 8fd5104 | 2025-05-05 12:52:43 -0700 | [diff] [blame] | 12 | RUN rm -f /app/tmp-sketch-dockerfile |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 13 | |
| 14 | WORKDIR /app |
| 15 | RUN if [ -f go.mod ]; then go mod download; fi |
| 16 | |
| David Crawshaw | b7a0663 | 2025-05-05 09:52:20 -0700 | [diff] [blame] | 17 | # Switch to lenient shell so we are more likely to get past failing extra_cmds. |
| 18 | SHELL ["/bin/bash", "-uo", "pipefail", "-c"] |
| 19 | |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 20 | # Install Python 3.11 (attempt to continue on failure) |
| 21 | RUN apt-get update && apt-get install -y --no-install-recommends python3.11 python3.11-venv python3.11-dev python3-pip || true |
| Josh Bleecher Snyder | c76a392 | 2025-05-01 01:18:56 +0000 | [diff] [blame] | 22 | |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 23 | # Set up Python 3.11 as default Python |
| 24 | RUN if command -v python3.11 &> /dev/null; then \ |
| 25 | update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 || true; \ |
| 26 | fi |
| 27 | |
| 28 | # Install DVC tool |
| David Crawshaw | 8fd5104 | 2025-05-05 12:52:43 -0700 | [diff] [blame] | 29 | RUN pip3 install dvc || true |
| 30 | |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 31 | # Create and activate Python virtual environment if needed |
| 32 | RUN if [ -f requirements.txt ]; then \ |
| 33 | python3 -m venv .venv || true; \ |
| 34 | source .venv/bin/activate || true; \ |
| 35 | pip install -r requirements.txt || true; \ |
| 36 | fi |
| 37 | |
| David Crawshaw | b7a0663 | 2025-05-05 09:52:20 -0700 | [diff] [blame] | 38 | # Switch back to strict shell after extra_cmds. |
| 39 | SHELL ["/bin/bash", "-euxo", "pipefail", "-c"] |
| David Crawshaw | 1112949 | 2025-04-25 20:41:53 -0700 | [diff] [blame] | 40 | |
| 41 | CMD ["/bin/sketch"] |