feat: add python and make #9

Merged
unkinben merged 2 commits from neoloc/appsdeploy_sudaporn into master 2025-03-09 17:50:37 +11:00
10 changed files with 38 additions and 26 deletions

View File

@ -20,16 +20,27 @@ DIRS := $(shell find $(IMAGES_PATH) -mindepth 3 -maxdepth 3 -type d | sed 's|$(I
default: clean default: clean
./ci/build.sh ./ci/build.sh
# Make all images # Separate base images from others
BASE_IMAGES = $(filter %/base,$(DIRS))
OTHER_IMAGES = $(filter-out %/base,$(DIRS))
# Make all images, ensuring base images build first
all: all:
@for dir in $(DIRS); do \ @for dir in $(BASE_IMAGES); do \
$(MAKE) $$dir; \ $(MAKE) $$dir; \
done done
@for dir in $(OTHER_IMAGES); do \
$(MAKE) $$dir; \
done
# List all directories # List all directories
list: list:
@echo "Images:" @echo "Images:"
@for dir in $(DIRS); do \ @for dir in $(BASE_IMAGES); do \
echo " '$$dir'"; \
done
@for dir in $(OTHER_IMAGES); do \
echo " '$$dir'"; \ echo " '$$dir'"; \
done done

View File

@ -20,9 +20,20 @@ if [ -n "$images_changes" ]; then
echo "Changes detected in images/. Running specific 'make' commands..." echo "Changes detected in images/. Running specific 'make' commands..."
# Extract unique paths for `make` commands # Extract unique paths for `make` commands
export TARGETS=$(echo "$images_changes" | sed -E 's|images/||; s|/[^/]+$||' | sort -u) TARGETS=$(echo "$images_changes" | sed -E 's|images/||; s|/[^/]+$||' | sort -u)
echo $TARGETS
for target in $TARGETS; do # Prioritize base images first
BASE_TARGETS=$(echo "$TARGETS" | grep '/base$' || true)
OTHER_TARGETS=$(echo "$TARGETS" | grep -v '/base$' || true)
# Build base images first
for target in $BASE_TARGETS; do
echo "Running 'make $target' (base image first)..."
make "$target"
done
# Then build other images
for target in $OTHER_TARGETS; do
echo "Running 'make $target'..." echo "Running 'make $target'..."
make "$target" make "$target"
done done

View File

@ -4,8 +4,6 @@ packages = [
"bash", "bash",
"consul", "consul",
"docker-ce-cli", "docker-ce-cli",
"jq",
"make",
"nodejs", "nodejs",
"packer", "packer",
"terraform", "terraform",

View File

@ -5,6 +5,11 @@ use_incus = false
packages = [ packages = [
"git", "git",
"jq", "jq",
"make",
"python3.11",
"python3.11-pip",
"python3.12",
"python3.12-pip",
"uv", "uv",
"wget", "wget",
] ]

View File

@ -1,13 +1,6 @@
# almalinux/8.10/jupyterlab # almalinux/8.10/jupyterlab
docker_source = "git.query.consul/unkin/almalinux8-base:latest" docker_source = "git.query.consul/unkin/almalinux8-base:latest"
deploy_files_from_common = true deploy_files_from_common = true
packages = [
"uv",
"python3.11",
"python3.11-pip",
"python3.12",
"python3.12-pip"
]
scripts_pre_file_copy = [ scripts_pre_file_copy = [
"dnf install -y sudo", "dnf install -y sudo",
] ]

View File

@ -19,7 +19,6 @@ packages = [
"intltool", "intltool",
"jna", "jna",
"ltrace", "ltrace",
"make",
"nfpm", "nfpm",
"patchutils", "patchutils",
"perl-Fedora-VSP", "perl-Fedora-VSP",

View File

@ -4,8 +4,6 @@ packages = [
"bash", "bash",
"consul", "consul",
"docker-ce-cli", "docker-ce-cli",
"jq",
"make",
"nodejs", "nodejs",
"packer", "packer",
"terraform", "terraform",

View File

@ -5,6 +5,11 @@ use_incus = false
packages = [ packages = [
"git", "git",
"jq", "jq",
"make",
"python3.11",
"python3.11-pip",
"python3.12",
"python3.12-pip",
"uv", "uv",
"wget", "wget",
] ]

View File

@ -1,13 +1,6 @@
# almalinux/9.5/jupyterlab # almalinux/9.5/jupyterlab
deploy_files_from_common = true deploy_files_from_common = true
docker_source = "git.query.consul/unkin/almalinux9-base:latest" docker_source = "git.query.consul/unkin/almalinux9-base:latest"
packages = [
"uv",
"python3.11",
"python3.11-pip",
"python3.12",
"python3.12-pip"
]
scripts_pre_file_copy = [ scripts_pre_file_copy = [
"dnf install -y sudo", "dnf install -y sudo",
] ]

View File

@ -19,7 +19,6 @@ packages = [
"intltool", "intltool",
"jna", "jna",
"ltrace", "ltrace",
"make",
"nfpm", "nfpm",
"patchutils", "patchutils",
"perl-Fedora-VSP", "perl-Fedora-VSP",