Skip to content

feat: Implement Docker publish pipeline for all projects (#68) #25

feat: Implement Docker publish pipeline for all projects (#68)

feat: Implement Docker publish pipeline for all projects (#68) #25

Workflow file for this run

name: Build Arka Docker image
on:
push:
branches:
- "master"
jobs:
build_frontend:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Checkout frontend
uses: actions/checkout@v3
with:
path: frontend
- name: Get frontend package version
id: get_frontend_version
run: echo version=$(node -p "require('./frontend/package.json').version") >> ${{ github.workspace }}/frontend_version.txt
- name: Build and push frontend Docker image
uses: docker/build-push-action@v4
with:
context: ./frontend
file: ./frontend/Dockerfile
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/arka-frontend:${{ steps.get_frontend_version.outputs.version }}
${{ secrets.DOCKERHUB_USERNAME }}/arka-frontend:latest
platforms: linux/amd64,linux/arm64
build_admin_frontend:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Checkout admin_frontend
uses: actions/checkout@v3
with:
path: admin_frontend
- name: Get admin_frontend package version
id: get_admin_frontend_version
run: echo version=$(node -p "require('./admin_frontend/package.json').version") >> ${{ github.workspace }}/admin_frontend_version.txt
- name: Build and push admin_frontend Docker image
uses: docker/build-push-action@v4
with:
context: ./admin_frontend
file: ./admin_frontend/Dockerfile
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/arka-admin-frontend:${{ steps.get_admin_frontend_version.outputs.version }}
${{ secrets.DOCKERHUB_USERNAME }}/arka-admin-frontend:latest
platforms: linux/amd64,linux/arm64
build_backend:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Checkout backend
uses: actions/checkout@v3
with:
path: backend
- name: Get backend package version
id: get_backend_version
run: echo version=$(node -p "require('./backend/package.json').version") >> ${{ github.workspace }}/backend_version.txt
- name: Build and push backend Docker image
uses: docker/build-push-action@v4
with:
context: ./backend
file: ./backend/Dockerfile
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/arka-backend:${{ steps.get_backend_version.outputs.version }}
${{ secrets.DOCKERHUB_USERNAME }}/arka-backend:latest
platforms: linux/amd64,linux/arm64
- name: Create GitHub release
uses: "marvinpinto/action-automatic-releases@6273874b61ebc8c71f1a61b2d98e234cf389b303"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: ${{ steps.get_backend_version.outputs.version }}
prerelease: false
title: Arka ${{ steps.get_backend_version.outputs.version }}
- name: Trigger pipeline
run: ${{ secrets.PIPELINE_TRIGGER }}