Skip to content

DataMate Package

DataMate Package #16

Workflow file for this run

name: DataMate Package
on:
workflow_dispatch:
inputs:
milvus:
type: boolean
description: 是否打包milvus
required: false
default: true
deer-flow:
type: boolean
description: 是否打包deer-flow
required: false
default: false
version:
type: string
description: 版本号
required: false
default: 1.0.0
jobs:
package-all:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Clone DataMate
uses: GuillaumeFalourd/[email protected]
with:
owner: ModelEngine-Group
repository: 'DataMate'
access-token: ${{ secrets.ACCESS_TOKEN }}
- name: DataMate Package
run: |
mkdir helm
cp -r DataMate/deployment/helm/datamate helm/datamate
sed -i "s#^\(\s*repository:\s*\).*#\1\"\"#" helm/datamate/values.yaml
sed -i "s#^\(\s*type:\s*\).*#\1ClusterIP#" helm/datamate/values.yaml
- name: DeerFlow Package
if: inputs.deer-flow == true
run: |
cd DataMate
cp runtime/deer-flow/.env.example deployment/helm/deer-flow/charts/public/.env
cp runtime/deer-flow/conf.yaml.example deployment/helm/deer-flow/charts/public/conf.yaml
cp -r deployment/helm/deer-flow ../helm/deer-flow
- name: Milvus Package
if: inputs.milvus == true
run: |
cp -r DataMate/deployment/helm/milvus helm/milvus
sed -i "s#^\(\s*workload:\s*\).*#\1deployment#" helm/milvus/values.yaml
- name: Download DataMate Image
run: |
mkdir -p images/datamate
LOWERCASE_REPO=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
services=("runtime" "backend" "frontend" "database" "backend-python")
for service in "${services[@]}"; do
docker pull ghcr.io/$LOWERCASE_REPO/datamate-$service:latest --platform arm64
docker tag ghcr.io/$LOWERCASE_REPO/datamate-$service:latest datamate-$service:latest
docker save -o images/datamate/datamate-$service.tar datamate-$service:latest
docker rmi ghcr.io/$LOWERCASE_REPO/datamate-$service:latest datamate-$service:latest
done
docker pull quay.io/kuberay/operator:v1.4.2 --platform arm64
docker save -o images/datamate/kuberay-operator.tar quay.io/kuberay/operator:v1.4.2
docker rmi quay.io/kuberay/operator:v1.4.2
- name: Download DeerFlow Image
if: inputs.deer-flow == true
run: |
mkdir -p images/deer-flow
LOWERCASE_REPO=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
services=("backend" "frontend")
for service in "${services[@]}"; do
docker pull ghcr.io/$LOWERCASE_REPO/deer-flow-$service:latest --platform arm64
docker tag ghcr.io/$LOWERCASE_REPO/deer-flow-$service:latest deer-flow-$service:latest
docker save -o images/deer-flow/deer-flow-$service.tar deer-flow-$service:latest
docekr rmi ghcr.io/$LOWERCASE_REPO/deer-flow-$service:latest deer-flow-$service:latest
done
- name: Download Milvus Image
if: inputs.milvus == true
run: |
mkdir -p images/milvus
docker pull milvusdb/milvus:v2.6.5 --platform arm64
docker save -o images/milvus/milvus.tar milvusdb/milvus:v2.6.5
docker rmi milvusdb/milvus:v2.6.5
docker pull minio/minio:RELEASE.2024-12-18T13-15-44Z --platform arm64
docker save -o images/milvus/minio.tar minio/minio:RELEASE.2024-12-18T13-15-44Z
docker rmi minio/minio:RELEASE.2024-12-18T13-15-44Z
docker pull milvusdb/etcd:3.5.18-r1 --platform arm64
docker save -o images/milvus/etcd.tar milvusdb/etcd:3.5.18-r1
docker rmi milvusdb/etcd:3.5.18-r1
- name: Upload Package
uses: actions/upload-artifact@v4
with:
name: DataMate_${{ inputs.version }}_Aarch64
include-hidden-files: true
path: |
helm/
images/
tools/