Skip to content

Commit

Permalink
Merge pull request #53 from PiyushRaj927/upgrade_CI
Browse files Browse the repository at this point in the history
add docker cache to github action
  • Loading branch information
jayanth-kumar-morem authored Jun 11, 2023
2 parents 1ed1a48 + 31a9613 commit 4f656a4
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 5 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,16 @@ jobs:
- name: Check out the source
uses: actions/checkout@v3

- name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v2

- name: Build Docker Image for TimescaleDB
run: |
if [ ${{ matrix.type }} == bitnami ]
then
cd bitnami
fi
make image PG_VER=pg${{ matrix.pg }} TAG_VERSION=smoketest-image BETA=1
make build-docker-cache image PG_VER=pg${{ matrix.pg }} TAG_VERSION=smoketest-image BETA=1
- name: Install psql
run: sudo apt install postgresql-client
Expand Down
21 changes: 19 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,18 @@ TAG_LATEST=$(ORG)/$(NAME):latest-$(PG_VER)
TAG=-t $(TAG_VERSION) $(if $(BETA),,-t $(TAG_LATEST))
TAG_OSS=-t $(TAG_VERSION)-oss $(if $(BETA),,-t $(TAG_LATEST)-oss)

DOCKER_BUILD_ARGS = --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 PG_AUTO_FAILOVER_VERSION=$(PG_AUTO_FAILOVER_VERSION) \
--build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) \
--build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) \
--build-arg POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION)

default: image

.multi_$(TS_VERSION)_$(PG_VER)_oss: Dockerfile
Expand Down Expand Up @@ -60,7 +72,12 @@ default: image
touch .build_$(TS_VERSION)_$(PG_VER)_oss

.build_$(TS_VERSION)_$(PG_VER): Dockerfile
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) .
docker build $(DOCKER_BUILD_ARGS) $(TAG) .
touch .build_$(TS_VERSION)_$(PG_VER)

build-docker-cache: Dockerfile
docker buildx create --use --driver=docker-container
docker buildx build --progress=plain --load --cache-to "type=gha,mode=max" --cache-from type=gha $(DOCKER_BUILD_ARGS) $(TAG) .
touch .build_$(TS_VERSION)_$(PG_VER)

image: .build_$(TS_VERSION)_$(PG_VER)
Expand Down Expand Up @@ -89,4 +106,4 @@ clean:
rm -f *~ .build_* .multi_*
-docker buildx rm multibuild

.PHONY: default image push push-oss oss multi multi-oss clean all
.PHONY: default image push push-oss oss multi multi-oss clean all build-docker-cache
19 changes: 17 additions & 2 deletions bitnami/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,29 @@ TAG_VERSION=$(ORG)/$(NAME):$(TS_VERSION)-$(PG_VER)-bitnami
TAG_LATEST=$(ORG)/$(NAME):latest-$(PG_VER)-bitnami
TAG=-t $(TAG_VERSION) $(if $(BETA),,-t $(TAG_LATEST))

DOCKER_BUILD_ARGS = --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 POSTGIS_MAJOR=$(POSTGIS_MAJOR) \
--build-arg PG_MAJOR=$(PG_MAJOR) \
--build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) \
--build-arg POSTGRES_HLL_VERSION=$(POSTGRES_HLL_VERSION)

default: image

.build_$(TS_VERSION)_$(PG_VER): Dockerfile
test -n "$(TS_VERSION)" # TS_VERSION
test -n "$(PREV_TS_VERSION)" # PREV_TS_VERSION
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) ..
docker build -f ./Dockerfile $(DOCKER_BUILD_ARGS) $(TAG) ..
touch .build_$(TS_VERSION)_$(PG_VER)-bitnami

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

push: image
Expand All @@ -42,4 +57,4 @@ push: image
clean:
rm -f *~ .build_*

.PHONY: default image push clean
.PHONY: default image push clean build-docker-cache

0 comments on commit 4f656a4

Please sign in to comment.