Skip to content

Commit

Permalink
fix: multiplatform builds
Browse files Browse the repository at this point in the history
  • Loading branch information
angrybayblade committed Aug 11, 2023
1 parent 83a2821 commit 22f5db5
Showing 1 changed file with 83 additions and 12 deletions.
95 changes: 83 additions & 12 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,8 @@ jobs:
aea init --reset --author valory --ipfs --remote
aea push-all
publish-images:
name: Publish Docker Images
publish-docs-images:
name: Publish Docs Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
Expand All @@ -196,15 +196,86 @@ jobs:
run: |
# export `TAG` variable
source env.sh
docker build -t valory/open-aea-docs:$TAG -f docs-image/Dockerfile . --pushs
docker build -t valory/open-aea-docs:latest -f docs-image/Dockerfile . --push
# Push version tagged images
docker build -t valory/open-aea-docs:$TAG -f docs-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-develop:$TAG -f develop-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-user:$TAG -f user-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-deploy:$TAG -f deploy-image/Dockerfile . --push
publish-user-images:
name: Publish User Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
steps:
- uses: actions/checkout@v2
- name: Docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Set up support for multi platform build
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multibuild
docker buildx inspect --bootstrap
- name: Set up tag
run: echo export TAG=$(python3 -c "from setup import about; print(about[\"__version__\"])") > env.sh
- name: Build and push version tagged images
run: |
# export `TAG` variable
source env.sh
docker buildx build --platform linux/amd64,linux/arm64 -t valory/open-aea-user:$TAG -f user-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64 -t valory/open-aea-user:latest -f user-image/Dockerfile . --push
# Push latest tagged images
docker build -t valory/open-aea-docs:latest -f docs-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-develop:latest -f develop-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-user:latest -f user-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t valory/open-aea-deploy:latest -f deploy-image/Dockerfile . --push
publish-deploy-images:
name: Publish Deploy Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
steps:
- uses: actions/checkout@v2
- name: Docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Set up support for multi platform build
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multibuild
docker buildx inspect --bootstrap
- name: Set up tag
run: echo export TAG=$(python3 -c "from setup import about; print(about[\"__version__\"])") > env.sh
- name: Build and push version tagged images
run: |
# export `TAG` variable
source env.sh
docker buildx build --platform linux/amd64,linux/arm64 -t valory/open-aea-deploy:$TAG -f deploy-image/Dockerfile . --push
docker buildx build --platform linux/amd64,linux/arm64 -t valory/open-aea-deploy:latest -f deploy-image/Dockerfile . --push
publish-develop-images:
name: Publish Develop Images
runs-on: ubuntu-latest
needs:
- publish-aea-packages
steps:
- uses: actions/checkout@v2
- name: Docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Set up support for multi platform build
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx create --use --name multibuild
docker buildx inspect --bootstrap
- name: Set up tag
run: echo export TAG=$(python3 -c "from setup import about; print(about[\"__version__\"])") > env.sh
- name: Build and push version tagged images
run: |
# export `TAG` variable
source env.sh
docker build -t valory/open-aea-develop:$TAG -f develop-image/Dockerfile . --push
docker build -t valory/open-aea-develop:latest -f develop-image/Dockerfile . --push

0 comments on commit 22f5db5

Please sign in to comment.