Skip to content

⬇️ Lower required python version to 3.9 for python sdk #31

⬇️ Lower required python version to 3.9 for python sdk

⬇️ Lower required python version to 3.9 for python sdk #31

Workflow file for this run

env:
REGISTRY: ghcr.io
SERVER_TARGET_NAME: server
SERVER_BUILD_CONTEXT: server
CONSOLE_TARGET_NAME: console
CONSOLE_BUILD_CONTEXT: console
FRONTEND_TARGET_NAME: frontend
FRONTEND_BUILD_CONTEXT: frontend
name: Publish and deploy
on:
workflow_dispatch:
push:
tags:
- "v*.*.*"
permissions:
contents: read
packages: write
id-token: write
jobs:
publish_backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ github.repository }}/${{ env.SERVER_TARGET_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- uses: docker/setup-buildx-action@v3
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: ${{ env.SERVER_BUILD_CONTEXT }}
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ steps.meta.outputs.tags }}
publish_console:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# Required to compile the client SDKS on runners without built-in node suppot
- uses: actions/setup-node@v3
with:
node-version: '>= 20'
- name: Compile SDKs
run: |
OPENAPI_BASE=/api make frontend-clients
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ github.repository }}/${{ env.CONSOLE_TARGET_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- uses: docker/setup-buildx-action@v3
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: ${{ env.CONSOLE_BUILD_CONTEXT }}
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ steps.meta.outputs.tags }}
publish_frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# Required to compile the client SDKS on runners without built-in node suppot
- uses: actions/setup-node@v3
with:
node-version: '>= 20'
- name: Compile SDKs
run: |
OPENAPI_BASE=/api make frontend-clients
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ github.repository }}/${{ env.FRONTEND_TARGET_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- uses: docker/setup-buildx-action@v3
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: ${{ env.FRONTEND_BUILD_CONTEXT }}
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ steps.meta.outputs.tags }}
deploy_prod:
runs-on: ubuntu-latest
needs:
- publish_backend
- publish_frontend
- publish_console
steps:
- name: Setup ssh
run: |
echo "${{ secrets.DEPLOY_SSH_PRIVATE_KEY_B64 }}" | base64 -d > /tmp/privkey
chmod 400 /tmp/privkey
- name: Deploy
run: ssh -i /tmp/privkey -o StrictHostKeyChecking=no ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} 'cd agentlabs && sh deploy.sh'