Skip to content

Commit

Permalink
updated workflow to use simultaneous runners
Browse files Browse the repository at this point in the history
  • Loading branch information
realkaranvir committed Dec 8, 2024
1 parent f410d03 commit 0093bff
Showing 1 changed file with 58 additions and 8 deletions.
66 changes: 58 additions & 8 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ on:
- karan

jobs:
build_and_push_docker_image:
name: Push Docker Image to Docker Hub
build_image_pr_test:
name: Build Image Test For PR
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'

steps:
- name: Checkout Repository
Expand All @@ -23,8 +24,57 @@ jobs:
username: ${{ secrets.DOCKER_HUB_EMAIL }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Cache Docker Dependencies
uses: actions/cache@v3
with:
path: |
root/.ivy2
root/.sbt
key: sbt-${{ runner.os }}-linux/amd64-${{ hashFiles('**/build.sbt', '**/project/*.sbt') }}
restore-keys: |
sbt-${{ runner.os }}-linux/amd64
- name: Inject sbt cache into Docker
uses: reproducible-containers/[email protected]
with:
cache-map: |
{
"root/.ivy2": "/root/.ivy2",
"root/.sbt": "/root/.sbt"
}
skip-extraction: ${{ steps.cache.outputs.cache-hit }}

- name: Build and Push Docker Image to Registry
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64
cache-from: type=gha
cache-to: type=gha,mode=max
push: false
tags: teamfemrdev/teamfemr:latest

build_and_push_image:
name: Push Docker Image to Docker Hub
runs-on: ubuntu-latest
if: github.event_name == 'push'
strategy:
fail-fast: true
matrix:
platform: [linux/amd64, linux/arm64]

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Login to Docker Registry
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_EMAIL }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -35,9 +85,9 @@ jobs:
path: |
root/.ivy2
root/.sbt
key: sbt-${{ runner.os }}-${{ hashFiles('**/build.sbt', '**/project/*.sbt') }}
key: sbt-${{ runner.os }}-${{matrix.platform}}-${{ hashFiles('**/build.sbt', '**/project/*.sbt') }}
restore-keys: |
sbt-${{ runner.os }}
sbt-${{ runner.os }}-${{matrix.platform}}
- name: Inject sbt cache into Docker
uses: reproducible-containers/[email protected]
Expand All @@ -53,8 +103,8 @@ jobs:
uses: docker/build-push-action@v6
with:
context: .
platforms: ${{ github.event_name == 'push' && 'linux/amd64,linux/arm64' || 'linux/amd64' }}
platforms: ${{ matrix.platform }}
cache-from: type=gha
cache-to: type=gha,mode=max
push: ${{ github.event_name != 'pull_request' }}
push: true
tags: teamfemrdev/teamfemr:latest

0 comments on commit 0093bff

Please sign in to comment.