diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1a61b43..341d5a4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,10 +1,12 @@ --- name: "Build" -on: - push: - branches: - - main +# on: +# push: +# branches: +# - main + +on: pull_request jobs: build: @@ -29,6 +31,11 @@ jobs: id: login-ecr uses: aws-actions/amazon-ecr-login@v1 + - name: Install prerequisites for Docker build + run: | + sudo apt-get update + sudo apt-get install -y qemu-user-static + - env: GITHUB_TOKEN: ${{ secrets.DUNE_ENG_ACCESS_TOKEN }} ECR_REGISTRY: public.ecr.aws/duneanalytics diff --git a/Makefile b/Makefile index 213f564..5942f08 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,5 @@ .PHONY: all setup lint build test image-build image-push -APPLICATION := indexer GITHUB_SHA ?= HEAD REF_TAG := $(shell echo ${GITHUB_REF_NAME} | tr -cd '[:alnum:]') IMAGE_TAG := ${ECR_REGISTRY}/${ECR_REPOSITORY}:${REF_TAG}-$(shell git rev-parse --short "${GITHUB_SHA}")-${GITHUB_RUN_NUMBER} @@ -38,11 +37,13 @@ gen-mocks: bin/moq ./client/jsonrpc/ ./client/duneapi/ image-build: - @echo "# Building indexer docker image..." - docker build -t $(APPLICATION) -f Dockerfile --build-arg GITHUB_TOKEN=${GITHUB_TOKEN} . + @echo "# Building indexer docker image for amd64 and arm64" + docker buildx build --platform linux/amd64 -t ${IMAGE_TAG}-amd64 -f Dockerfile --build-arg GITHUB_TOKEN=${GITHUB_TOKEN} . + # docker buildx build --platform linux/arm64 -t ${IMAGE_TAG}-arm64 -f Dockerfile --build-arg GITHUB_TOKEN=${GITHUB_TOKEN} . image-push: image-build - @echo "# Pushing indexer docker image..." - docker tag $(APPLICATION) ${IMAGE_TAG} - # docker push ${IMAGE_TAG} + @echo "# Pushing indexer docker images" + docker manifest create --insecure "${IMAGE_TAG}" "${IMAGE_TAG}-amd64" + # docker manifest create -a "${IMAGE_TAG}" "${IMAGE_TAG}-arm64" --insecure + docker manifest push "${IMAGE_TAG}" --insecure docker rmi ${IMAGE_TAG}