From 7bb647cb52e446fb1eaa9319f9161931aa1a96d2 Mon Sep 17 00:00:00 2001 From: Patrick Schork <354473+pschork@users.noreply.github.com> Date: Sat, 8 Jun 2024 17:37:54 -0700 Subject: [PATCH] Adds support for multi-platform linux/amd64 & linux/arm64 docker images --- .github/workflows/docker-publish-release.yaml | 16 ++++++++-------- .github/workflows/docker-publish.yaml | 6 +++--- Makefile | 5 +---- ...se-build.yaml => docker-compose-internal.yaml | 0 docker-compose-release.yaml | 6 ++++++ 5 files changed, 18 insertions(+), 15 deletions(-) rename docker-compose-build.yaml => docker-compose-internal.yaml (100%) diff --git a/.github/workflows/docker-publish-release.yaml b/.github/workflows/docker-publish-release.yaml index 60f19ed02..f04ff42cd 100644 --- a/.github/workflows/docker-publish-release.yaml +++ b/.github/workflows/docker-publish-release.yaml @@ -67,12 +67,12 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} if: ${{ success() }} - # Build And Push Image - - name: Build docker image release - run: make docker-release-build - if: ${{ success() }} - - # Publish if release is tagged or force == true - - name: Push docker image release - run: make docker-release-push + - name: Determine release PUSH_FLAG + run: echo "PUSH_FLAG=--push" >> $GITHUB_ENV if: startsWith(github.ref, 'refs/tags/v') || github.event.inputs.force == 'true' + + - name: Display push flag + run: echo "${{ env.PUSH_FLAG }}" + + - name: Build (and potentially push) docker image release + run: PUSH_FLAG=$PUSH_FLAG make docker-release-build diff --git a/.github/workflows/docker-publish.yaml b/.github/workflows/docker-publish.yaml index 48163f018..8b8f080f4 100644 --- a/.github/workflows/docker-publish.yaml +++ b/.github/workflows/docker-publish.yaml @@ -1,4 +1,4 @@ -name: docker-publish +name: docker-publish-internal on: push: branches: @@ -47,10 +47,10 @@ jobs: # Build And Push Image - name: Build Docker image - run: docker compose -f docker-compose-build.yaml build + run: docker compose -f docker-compose-internal.yaml build - name: Push Docker image if: github.ref == 'refs/heads/master' - run: docker compose -f docker-compose-build.yaml push + run: docker compose -f docker-compose-internal.yaml push - name: Send GitHub Action trigger data to Slack workflow if: ${{ failure() }} diff --git a/Makefile b/Makefile index c40ad271c..acd3b2d3a 100644 --- a/Makefile +++ b/Makefile @@ -94,10 +94,7 @@ integration-tests-dataapi: go test -v ./disperser/dataapi docker-release-build: - RELEASE_TAG=${SEMVER} docker compose -f docker-compose-release.yaml build --build-arg SEMVER=${SEMVER} --build-arg GITCOMMIT=${GITCOMMIT} --build-arg GITDATE=${GITDATE} - -docker-release-push: - RELEASE_TAG=${SEMVER} docker compose -f docker-compose-release.yaml push + RELEASE_TAG=${SEMVER} docker compose -f docker-compose-release.yaml build --build-arg SEMVER=${SEMVER} --build-arg GITCOMMIT=${GITCOMMIT} --build-arg GITDATE=${GITDATE} ${PUSH_FLAG} semver: echo "${SEMVER}" diff --git a/docker-compose-build.yaml b/docker-compose-internal.yaml similarity index 100% rename from docker-compose-build.yaml rename to docker-compose-internal.yaml diff --git a/docker-compose-release.yaml b/docker-compose-release.yaml index a6e74e4ec..2cd3ccfc3 100644 --- a/docker-compose-release.yaml +++ b/docker-compose-release.yaml @@ -4,9 +4,15 @@ services: build: context: . dockerfile: node/cmd/Dockerfile + platforms: + - "linux/amd64" + - "linux/arm64" image: ghcr.io/layr-labs/eigenda/opr-node:${RELEASE_TAG} nodeplugin: build: context: . dockerfile: node/plugin/cmd/Dockerfile + platforms: + - "linux/amd64" + - "linux/arm64" image: ghcr.io/layr-labs/eigenda/opr-nodeplugin:${RELEASE_TAG}