Skip to content

Commit 4f656a4

Browse files
Merge pull request #53 from PiyushRaj927/upgrade_CI
add docker cache to github action
2 parents 1ed1a48 + 31a9613 commit 4f656a4

File tree

3 files changed

+40
-5
lines changed

3 files changed

+40
-5
lines changed

.github/workflows/smoke-test.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@ jobs:
2323
- name: Check out the source
2424
uses: actions/checkout@v3
2525

26+
- name: Expose GitHub Runtime
27+
uses: crazy-max/ghaction-github-runtime@v2
28+
2629
- name: Build Docker Image for TimescaleDB
2730
run: |
2831
if [ ${{ matrix.type }} == bitnami ]
2932
then
3033
cd bitnami
3134
fi
32-
make image PG_VER=pg${{ matrix.pg }} TAG_VERSION=smoketest-image BETA=1
35+
make build-docker-cache image PG_VER=pg${{ matrix.pg }} TAG_VERSION=smoketest-image BETA=1
3336
3437
- name: Install psql
3538
run: sudo apt install postgresql-client

Makefile

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@ TAG_LATEST=$(ORG)/$(NAME):latest-$(PG_VER)
2525
TAG=-t $(TAG_VERSION) $(if $(BETA),,-t $(TAG_LATEST))
2626
TAG_OSS=-t $(TAG_VERSION)-oss $(if $(BETA),,-t $(TAG_LATEST)-oss)
2727

28+
DOCKER_BUILD_ARGS = --build-arg PG_VERSION=$(PG_VER_NUMBER) \
29+
--build-arg TS_VERSION=$(TS_VERSION) \
30+
--build-arg PREV_IMAGE=$(PREV_IMAGE) \
31+
--build-arg CITUS_VERSION=$(CITUS_VERSION) \
32+
--build-arg PG_VER=$(PG_VER) \
33+
--build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) \
34+
--build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) \
35+
--build-arg PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) \
36+
--build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) \
37+
--build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) \
38+
--build-arg POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION)
39+
2840
default: image
2941

3042
.multi_$(TS_VERSION)_$(PG_VER)_oss: Dockerfile
@@ -60,7 +72,12 @@ default: image
6072
touch .build_$(TS_VERSION)_$(PG_VER)_oss
6173

6274
.build_$(TS_VERSION)_$(PG_VER): Dockerfile
63-
docker build --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_VER=$(PG_VER) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION) --build-arg PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) $(TAG) .
75+
docker build $(DOCKER_BUILD_ARGS) $(TAG) .
76+
touch .build_$(TS_VERSION)_$(PG_VER)
77+
78+
build-docker-cache: Dockerfile
79+
docker buildx create --use --driver=docker-container
80+
docker buildx build --progress=plain --load --cache-to "type=gha,mode=max" --cache-from type=gha $(DOCKER_BUILD_ARGS) $(TAG) .
6481
touch .build_$(TS_VERSION)_$(PG_VER)
6582

6683
image: .build_$(TS_VERSION)_$(PG_VER)
@@ -89,4 +106,4 @@ clean:
89106
rm -f *~ .build_* .multi_*
90107
-docker buildx rm multibuild
91108

92-
.PHONY: default image push push-oss oss multi multi-oss clean all
109+
.PHONY: default image push push-oss oss multi multi-oss clean all build-docker-cache

bitnami/Makefile

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,29 @@ TAG_VERSION=$(ORG)/$(NAME):$(TS_VERSION)-$(PG_VER)-bitnami
2323
TAG_LATEST=$(ORG)/$(NAME):latest-$(PG_VER)-bitnami
2424
TAG=-t $(TAG_VERSION) $(if $(BETA),,-t $(TAG_LATEST))
2525

26+
DOCKER_BUILD_ARGS = --build-arg PG_VERSION=$(PG_VER_NUMBER) \
27+
--build-arg TS_VERSION=$(TS_VERSION) \
28+
--build-arg PREV_IMAGE=$(PREV_IMAGE) \
29+
--build-arg CITUS_VERSION=$(CITUS_VERSION) \
30+
--build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) \
31+
--build-arg PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) \
32+
--build-arg POSTGIS_MAJOR=$(POSTGIS_MAJOR) \
33+
--build-arg PG_MAJOR=$(PG_MAJOR) \
34+
--build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) \
35+
--build-arg POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION)
36+
2637
default: image
2738

2839
.build_$(TS_VERSION)_$(PG_VER): Dockerfile
2940
test -n "$(TS_VERSION)" # TS_VERSION
3041
test -n "$(PREV_TS_VERSION)" # PREV_TS_VERSION
31-
docker build -f ./Dockerfile --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) --build-arg POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION) --build-arg POSTGIS_MAJOR=$(POSTGIS_MAJOR) --build-arg PG_MAJOR=$(PG_MAJOR) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) $(TAG) ..
42+
docker build -f ./Dockerfile $(DOCKER_BUILD_ARGS) $(TAG) ..
3243
touch .build_$(TS_VERSION)_$(PG_VER)-bitnami
3344

45+
build-docker-cache: Dockerfile
46+
docker buildx create --use --driver=docker-container
47+
docker buildx build -f ./Dockerfile --progress=plain --load --cache-to "type=gha,mode=max" --cache-from type=gha $(DOCKER_BUILD_ARGS) $(TAG) ..
48+
touch .build_$(TS_VERSION)_$(PG_VER)
3449
image: .build_$(TS_VERSION)_$(PG_VER)
3550

3651
push: image
@@ -42,4 +57,4 @@ push: image
4257
clean:
4358
rm -f *~ .build_*
4459

45-
.PHONY: default image push clean
60+
.PHONY: default image push clean build-docker-cache

0 commit comments

Comments
 (0)