Skip to content

Create and publish frontend image #11

Create and publish frontend image

Create and publish frontend image #11

name: Create and publish frontend image
on:
release:
types: [published]
workflow_dispatch:
inputs:
tags:
description: 'Docker image tag (e.g: v0.0.1)'
required: false
type: string
env:
IMAGE_NAME: cohere-toolkit-frontend
jobs:
build-and-push-frontend-image:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# - id: 'auth'
# uses: 'google-github-actions/auth@v1'
# with:
# credentials_json: '${{ secrets.GCP_SA_KEY }}'
# - name: Set up Cloud SDK
# uses: google-github-actions/setup-gcloud@v1
# with:
# project_id: ${{ env.GCP_PROJECT_ID }}
# - name: Authenticate Docker to Artifact Registry
# run: gcloud auth configure-docker ${{ vars.REGISTRY }}
# - name: Extract metadata (tags, labels) for Docker
# id: meta
# uses: docker/metadata-action@v3
# with:
# images: ${{ vars.REGISTRY }}/${{ env.IMAGE_NAME }}
# - name: Build and push Docker image
# uses: docker/build-push-action@v2
# with:
# context: ./src/interfaces/coral_web
# tags: ${{ env.IMAGE_NAME }}
# push: true
- name: Login
uses: google-github-actions/setup-gcloud@v0
with:
project_id: ${{ vars.GCP_PROJECT_ID }}
service_account_email: ${{ secrets.SA_EMAIL }}
service_account_key: ${{ secrets.GCP_SA_KEY }}
- name: Configure Docker
run: gcloud auth configure-docker --quiet
- name: Checkout repository
uses: actions/checkout@v2
- run: 'echo "$KEY" > ./key.json'
shell: bash
env:
KEY: ${{ secrets.GCP_SA_KEY }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ vars.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build Docker image
run: |
docker build -t ${{ env.IMAGE_NAME }} -f ./src/interfaces/coral_web/Dockerfile --build-arg NODE_ENV=production ./src/interfaces/coral_web/
- name: Tag Docker image
run: |
docker tag ${{ env.IMAGE_NAME }} ${{ steps.meta.outputs.tags }}
- name: Push Docker image
run: |
docker push ${{ steps.meta.outputs.tags }}