-
Notifications
You must be signed in to change notification settings - Fork 0
147 lines (135 loc) · 6.29 KB
/
package.yml
File metadata and controls
147 lines (135 loc) · 6.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: DataMate Package
on:
workflow_dispatch:
inputs:
milvus:
type: boolean
description: 是否打包milvus
required: false
default: true
label-studio:
type: boolean
description: 是否打包label-studio
required: false
default: true
deer-flow:
type: boolean
description: 是否打包deer-flow
required: false
default: false
aarch:
description: 架构
required: true
default: arm64
type: choice
options:
- arm64
- amd64
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/clone-github-repo-action@v2.3
with:
owner: ModelEngine-Group
repository: 'DataMate'
access-token: ${{ secrets.ACCESS_TOKEN }}
- name: DataMate Package
run: |
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
mkdir helm
cp -r DataMate/deployment/helm/datamate helm/datamate
sed -i "s#^\(\s*repository:\s*\).*#\1\"\"#" helm/datamate/values.yaml
sed -i "s/type: NodePort/type: ClusterIP/g" helm/datamate/values.yaml
sed -i "s/latest/${{ inputs.version }}/g" helm/datamate/values.yaml
sed -i 's#HOME_PAGE_URL: *""#HOME_PAGE_URL: "/data/management"#g' helm/datamate/values.yaml
- name: DeerFlow Package
if: inputs.deer-flow == true
run: |
cd DataMate
cp runtime/deer-flow/.env deployment/helm/deer-flow/charts/public/.env
cp runtime/deer-flow/conf.yaml deployment/helm/deer-flow/charts/public/conf.yaml
cp -r deployment/helm/deer-flow ../helm/deer-flow
sed -i "s/latest/${{ inputs.version }}/g" ../helm/deer-flow/values.yaml
- 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
sed -i "s/latest/${{ inputs.version }}/g" helm/milvus/values.yaml
- name: Label Studio Package
if: inputs.label-studio == true
run: |
cp -r DataMate/deployment/helm/label-studio helm/label-studio
sed -i "s#heartexlabs/label-studio#datamate-label-studio#g" helm/label-studio/values.yaml
sed -i "s/type: NodePort/type: ClusterIP/g" helm/label-studio/values.yaml
sed -i "s/latest/${{ inputs.version }}/g" helm/label-studio/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" "gateway")
for service in "${services[@]}"; do
docker pull ghcr.io/$LOWERCASE_REPO/datamate-$service:latest --platform ${{ inputs.aarch }}
docker tag ghcr.io/$LOWERCASE_REPO/datamate-$service:latest datamate-$service:${{ inputs.version }}
docker save -o images/datamate/datamate-$service.tar datamate-$service:${{ inputs.version }}
docker rmi ghcr.io/$LOWERCASE_REPO/datamate-$service:latest datamate-$service:${{ inputs.version }}
done
docker pull quay.io/kuberay/operator:v1.4.2 --platform ${{ inputs.aarch }}
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 ${{ inputs.aarch }}
docker tag ghcr.io/$LOWERCASE_REPO/deer-flow-$service:latest deer-flow-$service:${{ inputs.version }}
docker save -o images/deer-flow/deer-flow-$service.tar deer-flow-$service:${{ inputs.version }}
docker rmi ghcr.io/$LOWERCASE_REPO/deer-flow-$service:latest deer-flow-$service:${{ inputs.version }}
done
- name: Download Milvus Image
if: inputs.milvus == true
run: |
mkdir -p images/milvus
docker pull milvusdb/milvus:v2.6.5 --platform ${{ inputs.aarch }}
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 ${{ inputs.aarch }}
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 ${{ inputs.aarch }}
docker save -o images/milvus/etcd.tar milvusdb/etcd:3.5.18-r1
docker rmi milvusdb/etcd:3.5.18-r1
- name: Download Label Studio Image
if: inputs.label-studio == true
run: |
mkdir -p images/label-studio
LOWERCASE_REPO=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
docker pull ghcr.io/$LOWERCASE_REPO/datamate-label-studio:latest --platform ${{ inputs.aarch }}
docker tag ghcr.io/$LOWERCASE_REPO/datamate-label-studio:latest datamate-label-studio:${{ inputs.version }}
docker save -o images/label-studio/datamate-label-studio.tar datamate-label-studio:${{ inputs.version }}
docker rmi ghcr.io/$LOWERCASE_REPO/datamate-label-studio:latest datamate-label-studio:${{ inputs.version }}
docker pull edoburu/pgbouncer:v1.25.1-p0 --platform ${{ inputs.aarch }}
docker save -o images/label-studio/pgbouncer.tar edoburu/pgbouncer:v1.25.1-p0
docker rmi edoburu/pgbouncer:v1.25.1-p0
- name: Upload Package
uses: actions/upload-artifact@v4
with:
name: DataMate_${{ inputs.version }}_Aarch64
include-hidden-files: true
path: |
helm/
images/
tools/