Skip to content

Commit 55f421e

Browse files
committed
bump version from 1.0.2 to 1.0.10, remove GitHub Actions workflow, and refactor Makefile to use .version file
1 parent f14b18a commit 55f421e

5 files changed

Lines changed: 78 additions & 74 deletions

File tree

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
name: Build and Push Docker Image
1+
name: Build and Push Runtime Base
22

33
on:
44
push:
55
branches:
66
- main
77
paths:
8-
- 'Dockerfile.base'
8+
- 'Dockerfile.runtime-base'
99
- '.version'
10-
- '.github/workflows/build-and-push.yml'
10+
- '.github/workflows/build-runtime.yml'
1111
workflow_dispatch:
1212

1313
jobs:
14-
build-and-push:
14+
build-and-push-runtime:
1515
runs-on: ubuntu-latest
1616

1717
steps:
@@ -31,11 +31,11 @@ jobs:
3131
username: raahulrahl
3232
password: ${{ secrets.DOCKERHUB_TOKEN }}
3333

34-
- name: Build and push versioned image
34+
- name: Build and push runtime base image
3535
uses: docker/build-push-action@v5
3636
with:
3737
context: .
38-
file: ./Dockerfile.base
38+
file: ./Dockerfile.runtime-base
3939
push: true
4040
platforms: linux/amd64,linux/arm64
4141
tags: |
@@ -44,5 +44,7 @@ jobs:
4444
cache-from: type=registry,ref=raahulrahl/bindu-runtime-base:buildcache
4545
cache-to: type=registry,ref=raahulrahl/bindu-runtime-base:buildcache,mode=max
4646

47-
- name: Image digest
48-
run: echo "Image pushed successfully with version ${{ steps.version.outputs.VERSION }}"
47+
- name: Summary
48+
run: |
49+
echo "✓ Runtime base image pushed successfully"
50+
echo "Image: raahulrahl/bindu-runtime-base:${{ steps.version.outputs.VERSION }}"

.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.2
1+
1.0.10

Dockerfile.base

Lines changed: 0 additions & 36 deletions
This file was deleted.

Dockerfile.runtime-base

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Lightweight runtime for Bindu agents:
2+
# - Python 3.12 (slim)
3+
# - Node.js 22
4+
# - No compilers / build tools
5+
6+
# Base: small Python runtime
7+
FROM python:3.12-slim-bookworm
8+
9+
# Minimal runtime deps
10+
RUN apt-get update && apt-get install -y --no-install-recommends \
11+
ca-certificates \
12+
&& rm -rf /var/lib/apt/lists/*
13+
14+
# Bring Node.js from official image (no apt here)
15+
FROM node:22-bookworm-slim AS node-base
16+
17+
FROM python:3.12-slim-bookworm
18+
19+
RUN apt-get update && apt-get install -y --no-install-recommends \
20+
ca-certificates \
21+
&& rm -rf /var/lib/apt/lists/*
22+
23+
# Copy Node binaries + global modules
24+
COPY --from=node-base /usr/local/bin/node /usr/local/bin/
25+
COPY --from=node-base /usr/local/lib/node_modules /usr/local/lib/node_modules
26+
27+
# npm / npx shims
28+
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \
29+
ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
30+
31+
# Python + Node already on PATH
32+
ENV PATH="/usr/local/bin:$PATH"
33+
34+
LABEL org.opencontainers.image.title="bindu-runtime-base"
35+
LABEL org.opencontainers.image.description="Runtime base for Bindu agents with Python 3.12 and Node.js 22"
36+
LABEL org.opencontainers.image.authors="raahul dutta <raahul@getbindu.com>"
37+
38+
WORKDIR /app

Makefile

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
1-
.PHONY: help build push tag-latest all clean
1+
.PHONY: help build-runtime push-runtime tag-latest-runtime all clean
22

33
# Configuration
4-
IMAGE_NAME := bindu-runtime-base
5-
REGISTRY := raahulrahl/getbindu
6-
VERSION := 1.0.0
7-
FULL_IMAGE := $(REGISTRY)/$(IMAGE_NAME)
4+
RUNTIME_IMAGE_NAME := bindu-runtime-base
5+
REGISTRY := raahulrahl
6+
VERSION := $(shell cat .version)
7+
RUNTIME_IMAGE := $(REGISTRY)/$(RUNTIME_IMAGE_NAME)
88

99
help:
10-
@echo "Bindu Base Image - Build & Push"
10+
@echo "Bindu Base Images - Build & Push"
1111
@echo ""
1212
@echo "Usage:"
13-
@echo " make build Build the Docker image"
14-
@echo " make push Push the versioned image"
15-
@echo " make tag-latest Tag and push as latest"
16-
@echo " make all Build, push versioned, and push latest"
17-
@echo " make clean Remove local images"
13+
@echo " make build-runtime Build the runtime base image"
14+
@echo " make push-runtime Push the runtime image"
15+
@echo " make tag-latest-runtime Tag and push runtime as latest"
16+
@echo " make all Build and push runtime image"
17+
@echo " make clean Remove local images"
1818
@echo ""
1919
@echo "Current version: $(VERSION)"
20-
@echo "Image: $(FULL_IMAGE):$(VERSION)"
20+
@echo "Runtime image: $(RUNTIME_IMAGE):$(VERSION)"
2121

22-
build:
23-
@echo "Building $(FULL_IMAGE):$(VERSION)..."
24-
docker build -f Dockerfile.base -t $(FULL_IMAGE):$(VERSION) .
25-
@echo "Build complete"
22+
build-runtime:
23+
@echo "Building $(RUNTIME_IMAGE):$(VERSION)..."
24+
docker build --no-cache -f Dockerfile.runtime-base -t $(RUNTIME_IMAGE):$(VERSION) .
25+
@echo "Runtime build complete"
2626

27-
push: build
28-
@echo "Pushing $(FULL_IMAGE):$(VERSION)..."
29-
docker push $(FULL_IMAGE):$(VERSION)
30-
@echo "Push complete"
27+
push-runtime: build-runtime
28+
@echo "Pushing $(RUNTIME_IMAGE):$(VERSION)..."
29+
docker push $(RUNTIME_IMAGE):$(VERSION)
30+
@echo "Runtime push complete"
3131

32-
tag-latest:
33-
@echo "Tagging $(FULL_IMAGE):$(VERSION) as latest..."
34-
docker tag $(FULL_IMAGE):$(VERSION) $(FULL_IMAGE):latest
35-
docker push $(FULL_IMAGE):latest
36-
@echo "Latest tag pushed"
32+
tag-latest-runtime:
33+
@echo "Tagging $(RUNTIME_IMAGE):$(VERSION) as latest..."
34+
docker tag $(RUNTIME_IMAGE):$(VERSION) $(RUNTIME_IMAGE):latest
35+
docker push $(RUNTIME_IMAGE):latest
36+
@echo "Runtime latest tag pushed"
3737

38-
all: build push tag-latest
38+
all: push-runtime tag-latest-runtime
3939
@echo "✓ All tasks complete"
4040

4141
clean:
4242
@echo "Removing local images..."
43-
-docker rmi $(FULL_IMAGE):$(VERSION)
44-
-docker rmi $(FULL_IMAGE):latest
45-
@echo "✓ Cleanup complete"
43+
-docker rmi $(RUNTIME_IMAGE):$(VERSION)
44+
-docker rmi $(RUNTIME_IMAGE):latest
45+
@echo "✓ Cleanup complete"

0 commit comments

Comments
 (0)