From f4129ff5c252e62b14d0d92bcddf85c59671d9a3 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Mon, 14 Oct 2024 15:08:48 +0800 Subject: [PATCH] [+] Docker image action --- .github/workflows/docker-image.yml | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 00000000..aba73430 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,50 @@ +name: Build and Publish Docker Image + +# Trigger the workflow on push to the main branch or on manual dispatch +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + # 1. Checkout the repository + - name: Checkout repository + uses: actions/checkout@v3 + + # 2. Set up QEMU and Docker Buildx (for multi-platform builds, optional) + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # 3. Log in to Docker Hub + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: hykilpikonna + password: ${{ secrets.DOCKERHUB_TOKEN }} + + # 4. Cache Docker layers to speed up builds (optional but recommended) + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + # 5. Build and push the Docker image + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: hykilpikonna/aquadx:latest + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache