Files
bigbirb/.github/workflows/docker-image.yml
2024-10-10 12:04:23 -04:00

63 lines
2.0 KiB
YAML

name: Docker Image CI
on:
push:
branches: [ "main" ]
jobs:
build_amd64:
runs-on: ubuntu-latest
steps:
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- uses: actions/checkout@v4
- name: Build and push the Docker image
run: docker build . --file Dockerfile --tag ${{ secrets.DOCKERHUB_USERNAME }}/discord-bot
- uses: actions/checkout@v4
- name: Push the Docker image
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/discord-bot
build_arm64:
runs-on: self-hosted
steps:
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- uses: actions/checkout@v4
- name: Build the Docker image
run: docker build . --file Dockerfile --tag ${{ secrets.DOCKERHUB_USERNAME }}/discord-bot
- uses: actions/checkout@v4
- name: Push the Docker image
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/discord-bot
create_manifest:
needs: [build_amd64, build_arm64]
runs-on: ubuntu-latest
steps:
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Create and push multi-arch manifest
run: |
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/your-image-name:amd64
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/your-image-name:arm64
docker manifest create ${{ secrets.DOCKERHUB_USERNAME }}/your-image-name:latest \
--amend ${{ secrets.DOCKERHUB_USERNAME }}/your-image-name:amd64 \
--amend ${{ secrets.DOCKERHUB_USERNAME }}/your-image-name:arm64
docker manifest push ${{ secrets.DOCKERHUB_USERNAME }}/your-image-name:latest