Skip to content

Commit

Permalink
[GithubAction] Push Operator Node Images (#51)
Browse files Browse the repository at this point in the history
Co-authored-by: Siddharth More <Siddhi More>
  • Loading branch information
siddimore authored Nov 20, 2023
1 parent a018fb9 commit 3bcabda
Showing 1 changed file with 86 additions and 0 deletions.
86 changes: 86 additions & 0 deletions .github/workflows/docker-publish-opr-node-images.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Push Docker images to GHCR with Caching

on:
workflow_dispatch:
inputs:
commit_sha:
description: 'Specific Commit SHA (Required)'
required: true
release_tag:
description: 'Release Tag (Optional)'
required: false
default: ''

env:
REGISTRY: ghcr.io
CACHE-FROM: /tmp/.buildx-cache
CACHE-TO: /tmp/.buildx-cache-new

jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository at specified commit
uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.commit_sha }}

- name: Setup Buildx
uses: docker/setup-buildx-action@v1
with:
install: true
driver-opts: image=moby/buildkit:master

- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.event.inputs.commit_sha }}
restore-keys: |
${{ runner.os }}-buildx-
if: ${{ success() }}

- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ success() }}

- name: Set Tag Name
id: set_tag
run: echo "tag=${{ github.event.inputs.release_tag || github.event.inputs.commit_sha }}" >> $GITHUB_OUTPUT
if: ${{ success() }}

- name: Build and Push Opr Node Image
uses: docker/build-push-action@v2
with:
file: ./node/cmd/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/layr-labs/eigenda/opr-node:${{ steps.set_tag.outputs.tag }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
if: ${{ success() }}

- name: Build and Push NodePlugin Image
uses: docker/build-push-action@v2
with:
context: .
file: ./node/plugin/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/layr-labs/eigenda/opr-nodeplugin:${{ steps.set_tag.outputs.tag }}
cache-from: type=local,src=${{ env.CACHE-FROM }}
cache-to: type=local,dest=${{ env.CACHE-TO }}
if: ${{ success() }}

- name: Update cache
uses: actions/cache@v2
with:
path: ${{ env.CACHE-TO }}
key: ${{ runner.os }}-buildx-${{ steps.set_tag.outputs.tag }}
restore-keys: |
${{ runner.os }}-buildx-

0 comments on commit 3bcabda

Please sign in to comment.