From ff584e87223a27a8d44ef07c23e6d78d4123a222 Mon Sep 17 00:00:00 2001 From: Cesar Flores Date: Mon, 9 Mar 2026 19:30:16 +0700 Subject: [PATCH] fix: update Dockerfile and entrypoint script for improved tool installation and configuration --- dev-tools/base/Dockerfile | 25 ++++++++++++++++--------- dev-tools/base/compose.yml | 5 +++-- dev-tools/base/{ => config}/mise.toml | 1 + dev-tools/base/entrypoint.sh | 9 +++++++-- 4 files changed, 27 insertions(+), 13 deletions(-) rename dev-tools/base/{ => config}/mise.toml (96%) diff --git a/dev-tools/base/Dockerfile b/dev-tools/base/Dockerfile index 7bc56cb..adbf96f 100644 --- a/dev-tools/base/Dockerfile +++ b/dev-tools/base/Dockerfile @@ -6,20 +6,27 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ COPY --from=ghcr.io/jdx/mise:2026.3.5 /usr/local/bin/mise /tools/bin/mise -# Always needed env vars for mise +RUN mkdir -p /tools/config /tools/bin /tools/shims \ + /tools/mise /tools/uv + +### Global tools path ### ENV PATH="/tools/bin:/tools/shims:${PATH}" -ENV MISE_DATA_DIR="/tools" -ENV MISE_CONFIG_DIR="/tools/config" -# Installation and cache paths -ENV MISE_CACHE_DIR="/tools/.cache" +### MISE env vars ### +ENV MISE_DATA_DIR="/tools/mise" +ENV MISE_CACHE_DIR="/tools/.cache/mise" ENV MISE_INSTALL_PATH="/tools/bin/mise" +# Always needed env vars for mise +ENV MISE_CONFIG_DIR="/tools/config" +ENV MISE_SHIMS_DIR="/tools/shims" -# UV environment variables -ENV UV_TOOL_BIN_DIR=/tools/bin -ENV UV_PYTHON=3.11 +### UV env vars ### +ENV UV_TOOL_DIR="/tools/uv" +ENV UV_TOOL_BIN_DIR="/tools/bin" +ENV UV_CACHE_DIR="/tools/.cache/uv" +ENV UV_PYTHON="3.11" -COPY mise.toml /tools/config/mise.toml +COPY config/ /tools/config/ COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh diff --git a/dev-tools/base/compose.yml b/dev-tools/base/compose.yml index 190366a..d82d445 100644 --- a/dev-tools/base/compose.yml +++ b/dev-tools/base/compose.yml @@ -5,8 +5,9 @@ services: restart: no environment: - GITHUB_TOKEN=${GITHUB_TOKEN} - - MISE_DATA_DIR=/tools - - MISE_CONFIG_DIR=/tools/config + # MISE environment variables + # - MISE_DATA_DIR=/tools/mise + # - MISE_CONFIG_DIR=/tools/config volumes: - dev-tools-data:/tools diff --git a/dev-tools/base/mise.toml b/dev-tools/base/config/mise.toml similarity index 96% rename from dev-tools/base/mise.toml rename to dev-tools/base/config/mise.toml index e7d5953..718a34d 100644 --- a/dev-tools/base/mise.toml +++ b/dev-tools/base/config/mise.toml @@ -3,6 +3,7 @@ ### Runtimes ### node = "24" go = "1.26" +python = "3.11" uv = "latest" ### Infrastructure ### diff --git a/dev-tools/base/entrypoint.sh b/dev-tools/base/entrypoint.sh index 0451cd4..e1029bc 100644 --- a/dev-tools/base/entrypoint.sh +++ b/dev-tools/base/entrypoint.sh @@ -3,14 +3,19 @@ set -euo pipefail rm -f /tools/.ready -mise ls --missing --json | jq -r 'keys[]' | while read -r tool; do - mise install "$tool" +mise ls --missing --json | jq -r 'to_entries[] | "\(.key)@\(.value[0].version)"' | while read -r tool; do + echo "Installing $tool..." + mise use -g "$tool" done +mise upgrade + mise reshim uv tool install ansible --with-executables-from ansible-core +mise reshim + chmod -R 755 /tools touch /tools/.ready