You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

62 lines
2.3 KiB

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