name: Docker Build and Push | |
on: | |
push: | |
branches: | |
- main | |
# release: | |
# types: [created] | |
workflow_dispatch: | |
jobs: | |
build-and-push: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
packages: write | |
security-events: write | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4.1.2 | |
- name: Docker Setup QEMU | |
uses: docker/setup-qemu-action@v3 | |
id: qemu | |
with: | |
platforms: amd64,arm64 | |
- name: Log into ghcr.io registry | |
uses: docker/login-action@v3.1.0 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3.2.0 | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3.1.0 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
- name: Build and push Docker image | |
uses: docker/build-push-action@v5.3.0 | |
with: | |
context: . | |
file: ./Dockerfile | |
platforms: linux/amd64,linux/arm64 | |
push: true | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
tags: | | |
ghcr.io/g0ldyy/comet:latest | |
docker.io/g0ldyy/comet:latest | |