feat: add python and make #9
17
Makefile
17
Makefile
@ -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
|
||||||
|
|
||||||
|
|||||||
17
ci/build.sh
17
ci/build.sh
@ -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
|
||||||
|
|||||||
@ -4,8 +4,6 @@ packages = [
|
|||||||
"bash",
|
"bash",
|
||||||
"consul",
|
"consul",
|
||||||
"docker-ce-cli",
|
"docker-ce-cli",
|
||||||
"jq",
|
|
||||||
"make",
|
|
||||||
"nodejs",
|
"nodejs",
|
||||||
"packer",
|
"packer",
|
||||||
"terraform",
|
"terraform",
|
||||||
|
|||||||
@ -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",
|
||||||
]
|
]
|
||||||
|
|||||||
@ -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",
|
||||||
]
|
]
|
||||||
|
|||||||
@ -19,7 +19,6 @@ packages = [
|
|||||||
"intltool",
|
"intltool",
|
||||||
"jna",
|
"jna",
|
||||||
"ltrace",
|
"ltrace",
|
||||||
"make",
|
|
||||||
"nfpm",
|
"nfpm",
|
||||||
"patchutils",
|
"patchutils",
|
||||||
"perl-Fedora-VSP",
|
"perl-Fedora-VSP",
|
||||||
|
|||||||
@ -4,8 +4,6 @@ packages = [
|
|||||||
"bash",
|
"bash",
|
||||||
"consul",
|
"consul",
|
||||||
"docker-ce-cli",
|
"docker-ce-cli",
|
||||||
"jq",
|
|
||||||
"make",
|
|
||||||
"nodejs",
|
"nodejs",
|
||||||
"packer",
|
"packer",
|
||||||
"terraform",
|
"terraform",
|
||||||
|
|||||||
@ -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",
|
||||||
]
|
]
|
||||||
|
|||||||
@ -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",
|
||||||
]
|
]
|
||||||
|
|||||||
@ -19,7 +19,6 @@ packages = [
|
|||||||
"intltool",
|
"intltool",
|
||||||
"jna",
|
"jna",
|
||||||
"ltrace",
|
"ltrace",
|
||||||
"make",
|
|
||||||
"nfpm",
|
"nfpm",
|
||||||
"patchutils",
|
"patchutils",
|
||||||
"perl-Fedora-VSP",
|
"perl-Fedora-VSP",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user