Skip to content

Joysafeter v2

Joysafeter v2 #560

Workflow file for this run

name: Docker Build CI
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
workflow_dispatch:
permissions:
contents: read
concurrency:
group: docker-build-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build ${{ matrix.image.name }}
runs-on: ubuntu-latest
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
image:
- name: joysafeter-backend
context: ./backend
dockerfile: ./deploy/docker/backend.Dockerfile
skillspector: false
build_contexts: ''
- name: joysafeter-frontend
context: ./frontend
dockerfile: ./deploy/docker/frontend.Dockerfile
skillspector: false
build_contexts: ''
- name: joysafeter-orchestrator-rs
context: .
dockerfile: ./deploy/docker/orchestrator-rs.Dockerfile
skillspector: false
build_contexts: ''
- name: joysafeter-skillspector
context: ./backend/joysafeter_skillspector
dockerfile: ./deploy/docker/skillspector-service.Dockerfile
skillspector: true
build_contexts: skillspector=./.deps/SkillSpector
- name: joysafeter-claudecode
context: .
dockerfile: ./deploy/docker/claudecode.Dockerfile
skillspector: false
build_contexts: ''
- name: joysafeter-codex
context: .
dockerfile: ./deploy/docker/codex.Dockerfile
skillspector: false
build_contexts: ''
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Checkout SkillSpector
if: matrix.image.skillspector
uses: actions/checkout@v6
with:
repository: NVIDIA/SkillSpector
ref: v2.5.1
path: .deps/SkillSpector
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build image
uses: docker/build-push-action@v7
with:
context: ${{ matrix.image.context }}
file: ${{ matrix.image.dockerfile }}
build-contexts: ${{ matrix.image.build_contexts }}
platforms: linux/amd64,linux/arm64
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
GIT_COMMIT_SHA=${{ github.sha }}
PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple