Skip to content

devops: using buildx to cache better? #16

devops: using buildx to cache better?

devops: using buildx to cache better? #16

Workflow file for this run

name: Create Docker Images
# Create Docker images tagged based off commit
on:
workflow_call:
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
# workflow_dispatch:
push:
# branches:
# - 'master'
# pull_request:
# branches:
# - 'master'
jobs:
build_search:
name: Building Search Docker Image
runs-on: ubuntu-latest
steps:
- name: Declare some variables
shell: bash
run: |
echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
- name: Checkout the repo
uses: actions/checkout@v4
- name: Setup buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: search/
file: ./search/Dockerfile
push: true
tags: arguflow/search:latest,arguflow/search:${{ env.sha_short }}
labels: ${{ steps.meta.outputs.labels }}
build_chat:
name: Building Chat Docker Image
runs-on: ubuntu-latest
steps:
- name: Declare some variables
shell: bash
run: |
echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
- name: Checkout the repo
uses: actions/checkout@v4
- name: Setup buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: chat/
file: ./chat/Dockerfile
push: true
tags: arguflow/chat:latest,arguflow/chat:${{ env.sha_short }}
labels: ${{ steps.meta.outputs.labels }}
build_server:
name: Building Server Docker Image
runs-on: ubuntu-latest
steps:
- name: Declare some variables
shell: bash
run: |
echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
- name: Checkout the repo
uses: actions/checkout@v4
- name: Setup buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: server/
file: ./server/Dockerfile
push: true
tags: arguflow/server:latest,arguflow/server:${{ env.sha_short }}
labels: ${{ steps.meta.outputs.labels }}