1
1
2
2
# vars
3
+ IMAGE_BASE =scanoss-py-base
3
4
IMAGE_NAME =scanoss-py
4
5
REPO =scanoss
6
+ DOCKER_FULLNAME_BASE =${REPO}/${IMAGE_BASE}
5
7
DOCKER_FULLNAME =${REPO}/${IMAGE_NAME}
8
+ GHCR_FULLNAME_BASE =ghcr.io/${REPO}/${IMAGE_BASE}
6
9
GHCR_FULLNAME =ghcr.io/${REPO}/${IMAGE_NAME}
7
10
VERSION =$(shell ./version.py)
8
11
@@ -55,15 +58,19 @@ package_all: dist publish ## Build & Publish Python package to PyPI
55
58
56
59
ghcr_build : dist # # Build GitHub container image with local arch
57
60
@echo " Building GHCR container image..."
58
- docker build -t $(GHCR_FULLNAME ) .
61
+ docker build --target with_entry_point -t $(GHCR_FULLNAME ) .
62
+
63
+ ghcr_build_base : dist # # Build GitHub container base image with local arch (no entrypoint)
64
+ @echo " Building GHCR base container image..."
65
+ docker build --target no_entry_point -t $(GHCR_FULLNAME_BASE ) .
59
66
60
67
ghcr_amd64 : dist # # Build GitHub AMD64 container image
61
68
@echo " Building GHCR AMD64 container image..."
62
- docker build -t $(GHCR_FULLNAME ) --platform linux/amd64 .
69
+ docker build --target with_entry_point - t $(GHCR_FULLNAME ) --platform linux/amd64 .
63
70
64
71
ghcr_arm64 : dist # # Build GitHub ARM64 container image
65
72
@echo " Building GHCR ARM64 container image..."
66
- docker build -t $(GHCR_FULLNAME ) --platform linux/arm64 .
73
+ docker build --target with_entry_point - t $(GHCR_FULLNAME ) --platform linux/arm64 .
67
74
68
75
ghcr_tag : # # Tag the latest GH container image with the version from Python
69
76
@echo " Tagging GHCR latest image with $( VERSION) ..."
@@ -76,21 +83,25 @@ ghcr_push: ## Push the GH container image to GH Packages
76
83
77
84
ghcr_release : dist # # Build/Publish GitHub multi-platform container image
78
85
@echo " Building & Releasing GHCR multi-platform container image $( VERSION) ..."
79
- docker buildx build --push -t $(GHCR_FULLNAME ) :$(VERSION ) --platform linux/arm64,linux/amd64 .
86
+ docker buildx build --push --target with_entry_point - t $(GHCR_FULLNAME ) :$(VERSION ) --platform linux/arm64,linux/amd64 .
80
87
81
88
ghcr_all : ghcr_release # # Execute all GHCR container actions
82
89
83
- docker_build : # # Build Docker container image with local arch
90
+ docker_build : dist # # Build Docker container image with local arch
91
+ @echo " Building Docker image..."
92
+ docker build --no-cache --target with_entry_point -t $(DOCKER_FULLNAME ) .
93
+
94
+ docker_build_base : dist # # Build Docker container image with local arch
84
95
@echo " Building Docker image..."
85
- docker build --no-cache -t $(DOCKER_FULLNAME ) .
96
+ docker build --no-cache --target no_entry_point - t $(DOCKER_FULLNAME_BASE ) .
86
97
87
98
docker_amd64 : dist # # Build Docker AMD64 container image
88
99
@echo " Building Docker AMD64 container image..."
89
- docker build -t $(DOCKER_FULLNAME ) --platform linux/amd64 .
100
+ docker build --target with_entry_point - t $(DOCKER_FULLNAME ) --platform linux/amd64 .
90
101
91
102
docker_arm64 : dist # # Build Docker ARM64 container image
92
103
@echo " Building Docker ARM64 container image..."
93
- docker build -t $(DOCKER_FULLNAME ) --platform linux/arm64 .
104
+ docker build --target with_entry_point - t $(DOCKER_FULLNAME ) --platform linux/arm64 .
94
105
95
106
docker_tag : # # Tag the latest Docker container image with the version from Python
96
107
@echo " Tagging Docker latest image with $( VERSION) ..."
@@ -103,6 +114,6 @@ docker_push: ## Push the Docker container image to DockerHub
103
114
104
115
docker_release : dist # # Build/Publish Docker multi-platform container image
105
116
@echo " Building & Releasing Docker multi-platform container image $( VERSION) ..."
106
- docker buildx build --push -t $(DOCKER_FULLNAME ) :$(VERSION ) --platform linux/arm64,linux/amd64 .
117
+ docker buildx build --push --target with_entry_point - t $(DOCKER_FULLNAME ) :$(VERSION ) --platform linux/arm64,linux/amd64 .
107
118
108
119
docker_all : docker_release # # Execute all DockerHub container actions
0 commit comments