From e37c4c0c3aea7d8c913b290155cfcf15dcaed86b Mon Sep 17 00:00:00 2001
From: pratikbalar <pratik@improwised.com>
Date: Fri, 17 Sep 2021 00:03:57 +0530
Subject: [PATCH] ci: add gha caching for dev imag

- I think we should skip caching in production image building because we want fresh image
---
 .github/workflows/backend.yml  | 26 ++++++++++++++------------
 .github/workflows/frontend.yml | 24 +++++++++++++-----------
 .github/workflows/proxy.yml    | 24 +++++++++++++-----------
 3 files changed, 40 insertions(+), 34 deletions(-)

diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index f0268a0..010e0e2 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -13,7 +13,7 @@ on:
 
 env:
   IMAGE_NAME: librephotos
-  
+
 jobs:
   # Run tests.
   # See also https://docs.docker.com/docker-hub/builds/automated-testing/
@@ -25,7 +25,7 @@ jobs:
 
       - name: Run tests
         run: echo "To-Do Add Running Tests"
-          
+
   build:
     name: Building dev build
     # Ensure test job passes before pushing image.
@@ -33,23 +33,23 @@ jobs:
     needs: test
 
     runs-on: ubuntu-latest
-  
+
     steps:
       - name: Checkout
         uses: actions/checkout@v2
-      
+
       - name: Set up QEMU
         uses: docker/setup-qemu-action@v1
-        
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v1
-      
+
       - name: Login to Docker Hub
         uses: docker/login-action@v1
         with:
           username: ${{ secrets.DOCKER_HUB_USERNAME }}
           password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
-          
+
       - name: Build and push
         uses: docker/build-push-action@v2
         with:
@@ -57,7 +57,9 @@ jobs:
           platforms: linux/amd64,linux/arm64
           push: true
           tags: reallibrephotos/librephotos:dev
-          
+          cache-from: type=gha
+          cache-to: type=gha,mode=max
+
   release-job:
     name: Releasing
     if: github.event_name == 'release' && github.event.action == 'created'
@@ -68,19 +70,19 @@ jobs:
     steps:
       - name: Checkout
         uses: actions/checkout@v2
-      
+
       - name: Set up QEMU
         uses: docker/setup-qemu-action@v1
-        
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v1
-      
+
       - name: Login to Docker Hub
         uses: docker/login-action@v1
         with:
           username: ${{ secrets.DOCKER_HUB_USERNAME }}
           password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
-          
+
       - name: Build and push
         uses: docker/build-push-action@v2
         with:
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 2c3a39e..5801d9a 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -5,7 +5,7 @@ on:
     types: [created]
   repository_dispatch:
     types: frontend-commit-event
-    
+
   push:
     # Publish `dev` as Docker `latest` image.
     branches:
@@ -34,7 +34,7 @@ jobs:
 
       - name: Run tests
         run: echo "To-Do Add Tests"
-          
+
   build:
     if: github.event_name != 'release'
     # Ensure test job passes before pushing image.
@@ -45,19 +45,19 @@ jobs:
     steps:
       - name: Checkout
         uses: actions/checkout@v2
-      
+
       - name: Set up QEMU
         uses: docker/setup-qemu-action@v1
-        
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v1
-      
+
       - name: Login to Docker Hub
         uses: docker/login-action@v1
         with:
           username: ${{ secrets.DOCKER_HUB_USERNAME }}
           password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
-          
+
       - name: Build and push
         uses: docker/build-push-action@v2
         with:
@@ -65,7 +65,9 @@ jobs:
           platforms: linux/amd64,linux/arm64
           push: true
           tags: reallibrephotos/librephotos-frontend:dev
-          
+          cache-from: type=gha
+          cache-to: type=gha,mode=max
+
   release-job:
     name: Releasing
     if: github.event_name == 'release' && github.event.action == 'created'
@@ -77,19 +79,19 @@ jobs:
     steps:
       - name: Checkout
         uses: actions/checkout@v2
-      
+
       - name: Set up QEMU
         uses: docker/setup-qemu-action@v1
-        
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v1
-      
+
       - name: Login to Docker Hub
         uses: docker/login-action@v1
         with:
           username: ${{ secrets.DOCKER_HUB_USERNAME }}
           password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
-          
+
       - name: Build and push
         uses: docker/build-push-action@v2
         with:
diff --git a/.github/workflows/proxy.yml b/.github/workflows/proxy.yml
index c2a5053..7ab0c9e 100644
--- a/.github/workflows/proxy.yml
+++ b/.github/workflows/proxy.yml
@@ -9,7 +9,7 @@ on:
       - main
     paths:
       - 'proxy/**'
-  
+
 jobs:
   # Run tests.
   # See also https://docs.docker.com/docker-hub/builds/automated-testing/
@@ -21,7 +21,7 @@ jobs:
 
       - name: Run tests
         run: echo "To-Do Add Tests"
-          
+
   build:
     if: github.event_name != 'release'
     # Ensure test job passes before pushing image.
@@ -32,19 +32,19 @@ jobs:
     steps:
       - name: Checkout
         uses: actions/checkout@v2
-      
+
       - name: Set up QEMU
         uses: docker/setup-qemu-action@v1
-        
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v1
-      
+
       - name: Login to Docker Hub
         uses: docker/login-action@v1
         with:
           username: ${{ secrets.DOCKER_HUB_USERNAME }}
           password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
-          
+
       - name: Build and push
         uses: docker/build-push-action@v2
         with:
@@ -52,7 +52,9 @@ jobs:
           platforms: linux/amd64,linux/arm64
           push: true
           tags: reallibrephotos/librephotos-proxy:dev
-          
+          cache-from: type=gha
+          cache-to: type=gha,mode=max
+
   release-job:
     name: Releasing
     if: github.event_name == 'release' && github.event.action == 'created'
@@ -64,19 +66,19 @@ jobs:
     steps:
       - name: Checkout
         uses: actions/checkout@v2
-      
+
       - name: Set up QEMU
         uses: docker/setup-qemu-action@v1
-        
+
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v1
-      
+
       - name: Login to Docker Hub
         uses: docker/login-action@v1
         with:
           username: ${{ secrets.DOCKER_HUB_USERNAME }}
           password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
-          
+
       - name: Build and push
         uses: docker/build-push-action@v2
         with:
-- 
GitLab