Skip to content

Commit 76e7ea1

Browse files
committed
Do not use ghcr.io package cache for pull requests
1 parent d670f87 commit 76e7ea1

File tree

5 files changed

+54
-22
lines changed

5 files changed

+54
-22
lines changed

.github/workflows/container-build-test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ jobs:
132132
- name: Execute build
133133
if: steps.should-build.outputs.build == 'true'
134134
uses: ./.github/actions/build-container
135+
env:
136+
# Disable registry cache for pull requests to avoid permission issues
137+
DISABLE_REGISTRY_CACHE: ${{ github.event_name == 'pull_request' && 'true' || 'false' }}
135138
with:
136139
safe_ref_name: ${{ needs.prepare-environment.outputs.safe_ref_name }}
137140
nvcr_container_repo: ${{ needs.prepare-environment.outputs.nvcr_container_repo }}

common.mk

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ SAFE_REF_NAME := $(if $(SAFE_REF_NAME),$(SAFE_REF_NAME),local)
2929
BUILDX_BUILDER ?= nvsentinel-builder
3030
PLATFORMS ?= linux/arm64,linux/amd64
3131

32+
# Cache configuration (can be disabled via environment variables)
33+
DISABLE_REGISTRY_CACHE ?= false
34+
CACHE_FROM_ARG := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME))
35+
CACHE_TO_ARG := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME),mode=max)
36+
3237
# Auto-detect current module name from directory
3338
MODULE_NAME := $(shell basename $(CURDIR))
3439

@@ -170,11 +175,12 @@ setup-buildx:
170175
# Standardized Docker build (always from repo root for consistency)
171176
docker-build: setup-buildx
172177
@echo "Building Docker image for $(MODULE_NAME) (local development)..."
178+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
173179
cd $(REPO_ROOT) && docker buildx build \
174180
--platform $(PLATFORMS) \
175181
--network=host \
176-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME) \
177-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME),mode=max \
182+
$(CACHE_FROM_ARG) \
183+
$(CACHE_TO_ARG) \
178184
$(DOCKER_EXTRA_ARGS) \
179185
--load \
180186
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-$(MODULE_NAME):$(SAFE_REF_NAME) \
@@ -196,11 +202,12 @@ docker-build-local: setup-buildx
196202
# Standardized Docker publish
197203
docker-publish: setup-buildx
198204
@echo "Building and publishing Docker image for $(MODULE_NAME) (production)..."
205+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
199206
cd $(REPO_ROOT) && docker buildx build \
200207
--platform $(PLATFORMS) \
201208
--network=host \
202-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME) \
203-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME),mode=max \
209+
$(CACHE_FROM_ARG) \
210+
$(CACHE_TO_ARG) \
204211
$(DOCKER_EXTRA_ARGS) \
205212
--push \
206213
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-$(MODULE_NAME):$(SAFE_REF_NAME) \

health-monitors/gpu-health-monitor/Makefile

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ LINT_EXTRA_FLAGS :=
4141

4242
include ../../common.mk
4343

44+
# Cache configuration for specialized builds (respect DISABLE_REGISTRY_CACHE)
45+
CACHE_FROM_ARG_DCGM3 := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-3)
46+
CACHE_TO_ARG_DCGM3 := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-3,mode=max)
47+
CACHE_FROM_ARG_DCGM4 := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-4)
48+
CACHE_TO_ARG_DCGM4 := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-4,mode=max)
49+
4450
# =============================================================================
4551
# DEFAULT TARGET
4652
# =============================================================================
@@ -104,11 +110,12 @@ docker-build: setup-buildx docker-build-dcgm3 docker-build-dcgm4
104110

105111
docker-build-dcgm3: setup-buildx
106112
@echo "Building Docker image for $(MODULE_NAME) with DCGM 3.x (local development)..."
113+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
107114
cd $(REPO_ROOT) && docker buildx build \
108115
--platform $(PLATFORMS) \
109116
--network=host \
110-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-3 \
111-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-3,mode=max \
117+
$(CACHE_FROM_ARG_DCGM3) \
118+
$(CACHE_TO_ARG_DCGM3) \
112119
$(DOCKER_EXTRA_ARGS) \
113120
--load \
114121
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-$(MODULE_NAME):$(SAFE_REF_NAME)-dcgm-3.x \
@@ -119,11 +126,12 @@ docker-build-dcgm3: setup-buildx
119126

120127
docker-build-dcgm4: setup-buildx
121128
@echo "Building Docker image for $(MODULE_NAME) with DCGM 4.x (local development)..."
129+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
122130
cd $(REPO_ROOT) && docker buildx build \
123131
--platform $(PLATFORMS) \
124132
--network=host \
125-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-4 \
126-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-4,mode=max \
133+
$(CACHE_FROM_ARG_DCGM4) \
134+
$(CACHE_TO_ARG_DCGM4) \
127135
$(DOCKER_EXTRA_ARGS) \
128136
--load \
129137
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-$(MODULE_NAME):$(SAFE_REF_NAME)-dcgm-4.x \
@@ -135,11 +143,12 @@ docker-publish: setup-buildx docker-publish-dcgm3 docker-publish-dcgm4
135143

136144
docker-publish-dcgm3: setup-buildx
137145
@echo "Building and publishing Docker image for $(MODULE_NAME) with DCGM 3.x (production)..."
146+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
138147
cd $(REPO_ROOT) && docker buildx build \
139148
--platform $(PLATFORMS) \
140149
--network=host \
141-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-3 \
142-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-3,mode=max \
150+
$(CACHE_FROM_ARG_DCGM3) \
151+
$(CACHE_TO_ARG_DCGM3) \
143152
$(DOCKER_EXTRA_ARGS) \
144153
--push \
145154
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-$(MODULE_NAME):$(SAFE_REF_NAME)-dcgm-3.x \
@@ -150,11 +159,12 @@ docker-publish-dcgm3: setup-buildx
150159

151160
docker-publish-dcgm4: setup-buildx
152161
@echo "Building and publishing Docker image for $(MODULE_NAME) with DCGM 4.x (production)..."
162+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
153163
cd $(REPO_ROOT) && docker buildx build \
154164
--platform $(PLATFORMS) \
155165
--network=host \
156-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-4 \
157-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME)-4,mode=max \
166+
$(CACHE_FROM_ARG_DCGM4) \
167+
$(CACHE_TO_ARG_DCGM4) \
158168
$(DOCKER_EXTRA_ARGS) \
159169
--push \
160170
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-$(MODULE_NAME):$(SAFE_REF_NAME)-dcgm-4.x \

node-drainer-module/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,12 @@ publish: docker-publish
4949
# Additional target for CI with registry cache
5050
docker-build-with-cache: setup-buildx
5151
@echo "Building Docker image for $(MODULE_NAME) (with registry cache)..."
52+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
5253
cd $(REPO_ROOT) && docker buildx build \
5354
--platform $(PLATFORMS) \
5455
--network=host \
55-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME) \
56-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:$(MODULE_NAME),mode=max \
56+
$(CACHE_FROM_ARG) \
57+
$(CACHE_TO_ARG) \
5758
$(DOCKER_EXTRA_ARGS) \
5859
--load \
5960
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-$(MODULE_NAME):$(SAFE_REF_NAME) \

nvsentinel-log-collector/Makefile

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ SAFE_REF_NAME := $(if $(SAFE_REF_NAME),$(SAFE_REF_NAME),local)
1010
BUILDX_BUILDER ?= nvsentinel-builder
1111
PLATFORMS ?= linux/arm64,linux/amd64
1212

13+
# Cache configuration (can be disabled via environment variables)
14+
DISABLE_REGISTRY_CACHE ?= false
15+
CACHE_FROM_ARG_LOG := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:log-collector)
16+
CACHE_TO_ARG_LOG := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:log-collector,mode=max)
17+
CACHE_FROM_ARG_CLEANUP := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:file-server-cleanup)
18+
CACHE_TO_ARG_CLEANUP := $(if $(filter true,$(DISABLE_REGISTRY_CACHE)),,--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:file-server-cleanup,mode=max)
19+
1320
# Default target
1421
.PHONY: all
1522
all: lint
@@ -77,23 +84,25 @@ docker-build: setup-buildx docker-build-log-collector docker-build-file-server-c
7784
.PHONY: docker-build-log-collector
7885
docker-build-log-collector: setup-buildx
7986
@echo "Building Docker image for log-collector (local development)..."
87+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
8088
docker buildx build \
8189
--platform $(PLATFORMS) \
8290
--network=host \
83-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:log-collector \
84-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:log-collector,mode=max \
91+
$(CACHE_FROM_ARG_LOG) \
92+
$(CACHE_TO_ARG_LOG) \
8593
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-log-collector:$(SAFE_REF_NAME) \
8694
.
8795

8896
# Build file-server-cleanup image (local development)
8997
.PHONY: docker-build-file-server-cleanup
9098
docker-build-file-server-cleanup: setup-buildx
9199
@echo "Building Docker image for file-server-cleanup (local development)..."
100+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
92101
docker buildx build \
93102
--platform $(PLATFORMS) \
94103
--network=host \
95-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:file-server-cleanup \
96-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:file-server-cleanup,mode=max \
104+
$(CACHE_FROM_ARG_CLEANUP) \
105+
$(CACHE_TO_ARG_CLEANUP) \
97106
-f Dockerfile.cleanup \
98107
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-file-server-cleanup:$(SAFE_REF_NAME) \
99108
.
@@ -106,11 +115,12 @@ docker-publish: setup-buildx docker-publish-log-collector docker-publish-file-se
106115
.PHONY: docker-publish-log-collector
107116
docker-publish-log-collector: setup-buildx
108117
@echo "Building and publishing Docker image for log-collector (production)..."
118+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
109119
docker buildx build \
110120
--platform $(PLATFORMS) \
111121
--network=host \
112-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:log-collector \
113-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:log-collector,mode=max \
122+
$(CACHE_FROM_ARG_LOG) \
123+
$(CACHE_TO_ARG_LOG) \
114124
--push \
115125
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-log-collector:$(SAFE_REF_NAME) \
116126
.
@@ -119,11 +129,12 @@ docker-publish-log-collector: setup-buildx
119129
.PHONY: docker-publish-file-server-cleanup
120130
docker-publish-file-server-cleanup: setup-buildx
121131
@echo "Building and publishing Docker image for file-server-cleanup (production)..."
132+
$(if $(filter true,$(DISABLE_REGISTRY_CACHE)),@echo "Registry cache disabled for this build")
122133
docker buildx build \
123134
--platform $(PLATFORMS) \
124135
--network=host \
125-
--cache-from=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:file-server-cleanup \
126-
--cache-to=type=registry,ref=$(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-buildcache:file-server-cleanup,mode=max \
136+
$(CACHE_FROM_ARG_CLEANUP) \
137+
$(CACHE_TO_ARG_CLEANUP) \
127138
--push \
128139
-f Dockerfile.cleanup \
129140
-t $(NVCR_CONTAINER_REPO)/$(NGC_ORG)/nvsentinel-file-server-cleanup:$(SAFE_REF_NAME) \

0 commit comments

Comments
 (0)