Skip to content

fix(global): change builds #5

fix(global): change builds

fix(global): change builds #5

name: Deploy Staging
on:
push:
branches:
- main
concurrency:
group: deploy-frontend-staging
cancel-in-progress: false
env:
ANSIBLE_FORCE_COLOR: true
TARGET_PLATFORMS: linux/arm64
NODE_ENV: production
APP_ENV: staging
jobs:
deploy-docker-images:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.x
cache: yarn
- name: Install dependencies
run: yarn install --frozen-lockfile --prefer-offline --production=false
- name: Turbo Cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-build-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
turbo-build-${{ github.job }}-${{ github.ref_name }}-
- name: Build packages
run: yarn build
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to registry
uses: docker/login-action@v2
with:
registry: staging.dashhub.ai
username: ${{ secrets.STAGING_PODMAN_REGISTRY_USERNAME }}
password: ${{ secrets.STAGING_PODMAN_REGISTRY_PASSWORD }}
- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: buildx-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
buildx-${{ github.job }}-${{ github.ref_name }}-
- name: Push backend
uses: docker/build-push-action@v6
with:
context: apps/backend
push: true
tags: staging.dashhub.ai/dashhub-backend:latest
platforms: ${{ env.TARGET_PLATFORMS }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Push admin
uses: docker/build-push-action@v6
with:
context: apps/backend
push: true
tags: staging.dashhub.ai/dashhub-admin:latest
platforms: ${{ env.TARGET_PLATFORMS }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache