Browse Source

chore: enable multi arch docker image

pull/119/head
Aldino Kemal 2 years ago
parent
commit
1cd9a37d4e
  1. 62
      .github/workflows/build-docker-image.yaml
  2. 31
      .github/workflows/build-image-arm.yaml

62
.github/workflows/build-docker-image.yaml

@ -0,0 +1,62 @@
name: Build Docker Image for Linux ARM
on:
workflow_dispatch:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
branches-ignore:
- '*'
jobs:
build-and-push:
if: startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch'
environment: production
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ARM64, ubuntu-latest ]
tag_suffix: [ arm, amd ]
include:
- os: ARM64
tag_suffix: arm
- os: ubuntu-latest
tag_suffix: amd
steps:
- uses: actions/checkout@v3
- name: Login Registry
uses: docker/login-action@v3
with:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
context: .
file: ./docker/golang.Dockerfile
tags: ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:latest-${{ matrix.tag_suffix }}, ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:${{ github.ref_name }}-${{ matrix.tag_suffix }}
create-manifest:
needs: build-and-push
runs-on: ubuntu-latest
steps:
- name: Login Registry
uses: docker/login-action@v3
with:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Create and push manifest images latest
uses: Noelware/docker-manifest-action@master
with:
inputs: ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:latest
images: ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:latest-arm,${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:latest-amd
push: true
- name: Create and push manifest versioned images
uses: Noelware/docker-manifest-action@master
with:
inputs: ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:${{ github.ref_name }}
images: ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:${{ github.ref_name }}-arm,${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:${{ github.ref_name }}-amd
push: true

31
.github/workflows/build-image-arm.yaml

@ -1,31 +0,0 @@
name: Build Docker Image for Linux ARM
on:
workflow_dispatch:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
branches-ignore:
- '*'
jobs:
build-linux-arm:
if: startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch'
runs-on: [ARM64]
environment: production
steps:
- uses: actions/checkout@v3
- name: Login Registry
uses: docker/login-action@v3
with:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
context: .
file: ./docker/golang.Dockerfile
tags: ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:latest, ${{ secrets.REGISTRY_USERNAME }}/go-whatsapp-web-multidevice:${{ github.ref_name }}
Loading…
Cancel
Save