Skip to content

Commit 2aa4073

Browse files
author
jiangpeiling
committed
🔨 improve the CICD process.
1 parent 3c89e5a commit 2aa4073

File tree

2 files changed

+167
-53
lines changed

2 files changed

+167
-53
lines changed
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
name: Docker Build All Images
2+
3+
concurrency:
4+
group: docker-build-dev-${{ github.ref }}
5+
cancel-in-progress: true
6+
7+
on:
8+
workflow_dispatch:
9+
pull_request:
10+
branches: [develop]
11+
push:
12+
branches: [develop]
13+
14+
jobs:
15+
build-main-amd64:
16+
runs-on: ubuntu-latest
17+
if: |
18+
github.event_name == 'workflow_dispatch' ||
19+
contains(toJSON(github.event.head_commit), 'backend/') ||
20+
contains(toJSON(github.event.head_commit), 'sdk/')
21+
steps:
22+
- name: Set up Docker Buildx
23+
run: |
24+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
25+
docker buildx create --name nexent_builder --use
26+
else
27+
docker buildx use nexent_builder
28+
fi
29+
- name: Checkout code
30+
uses: actions/checkout@v4
31+
- name: Build main image (amd64) and load locally
32+
run: |
33+
docker buildx build --platform linux/amd64 -t nexent/nexent:dev-amd64 --load -f make/main/Dockerfile .
34+
35+
build-main-arm64:
36+
runs-on: ubuntu-latest
37+
if: |
38+
github.event_name == 'workflow_dispatch' ||
39+
contains(toJSON(github.event.head_commit), 'backend/') ||
40+
contains(toJSON(github.event.head_commit), 'sdk/')
41+
steps:
42+
- name: Set up Docker Buildx
43+
run: |
44+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
45+
docker buildx create --name nexent_builder --use
46+
else
47+
docker buildx use nexent_builder
48+
fi
49+
- name: Checkout code
50+
uses: actions/checkout@v4
51+
- name: Build main image (arm64) and load locally
52+
run: |
53+
docker buildx build --platform linux/arm64 -t nexent/nexent:dev-arm64 --load -f make/main/Dockerfile .
54+
55+
build-data-process-amd64:
56+
runs-on: ubuntu-latest
57+
steps:
58+
- name: Free up disk space on GitHub runner
59+
run: |
60+
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
61+
- name: Set up Docker Buildx
62+
run: |
63+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
64+
docker buildx create --name nexent_builder --use
65+
else
66+
docker buildx use nexent_builder
67+
fi
68+
- name: Checkout code
69+
uses: actions/checkout@v4
70+
- name: Clone model
71+
run: |
72+
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/Nexent-AI/model-assets
73+
cd ./model-assets
74+
GIT_TRACE=1 GIT_CURL_VERBOSE=1 GIT_LFS_LOG=debug git lfs pull
75+
rm -rf .git .gitattributes
76+
- name: Build data process image (amd64) and load locally
77+
run: |
78+
docker buildx build --platform linux/amd64 -t nexent/nexent-data-process:dev-amd64 --load -f make/data_process/Dockerfile .
79+
80+
build-data-process-arm64:
81+
runs-on: ubuntu-latest
82+
steps:
83+
- name: Free up disk space on GitHub runner
84+
run: |
85+
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
86+
- name: Set up Docker Buildx
87+
run: |
88+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
89+
docker buildx create --name nexent_builder --use
90+
else
91+
docker buildx use nexent_builder
92+
fi
93+
- name: Checkout code
94+
uses: actions/checkout@v4
95+
- name: Clone model
96+
run: |
97+
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/Nexent-AI/model-assets
98+
cd ./model-assets
99+
GIT_TRACE=1 GIT_CURL_VERBOSE=1 GIT_LFS_LOG=debug git lfs pull
100+
rm -rf .git .gitattributes
101+
- name: Build data process image (arm64) and load locally
102+
run: |
103+
docker buildx build --platform linux/arm64 -t nexent/nexent-data-process:dev-arm64 --load -f make/data_process/Dockerfile .
104+
105+
build-web-amd64:
106+
runs-on: ubuntu-latest
107+
steps:
108+
- name: Set up Docker Buildx
109+
run: |
110+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
111+
docker buildx create --name nexent_builder --use
112+
else
113+
docker buildx use nexent_builder
114+
fi
115+
- name: Checkout code
116+
uses: actions/checkout@v4
117+
- name: Build web image (amd64) and load locally
118+
run: |
119+
docker buildx build --platform linux/amd64 -t nexent/nexent-web:dev-amd64 --load -f make/web/Dockerfile .
120+
121+
build-web-arm64:
122+
runs-on: ubuntu-latest
123+
steps:
124+
- name: Set up Docker Buildx
125+
run: |
126+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
127+
docker buildx create --name nexent_builder --use
128+
else
129+
docker buildx use nexent_builder
130+
fi
131+
- name: Checkout code
132+
uses: actions/checkout@v4
133+
- name: Build web image (arm64) and load locally
134+
run: |
135+
docker buildx build --platform linux/arm64 -t nexent/nexent-web:dev-arm64 --load -f make/web/Dockerfile .
136+
137+
build-terminal-amd64:
138+
runs-on: ubuntu-latest
139+
steps:
140+
- name: Set up Docker Buildx
141+
run: |
142+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
143+
docker buildx create --name nexent_builder --use
144+
else
145+
docker buildx use nexent_builder
146+
fi
147+
- name: Checkout code
148+
uses: actions/checkout@v4
149+
- name: Build terminal image (amd64) and load locally
150+
run: |
151+
docker buildx build --platform linux/amd64 -t nexent/nexent-ubuntu-terminal:dev-amd64 --load -f make/terminal/Dockerfile .
152+
153+
build-terminal-arm64:
154+
runs-on: ubuntu-latest
155+
steps:
156+
- name: Set up Docker Buildx
157+
run: |
158+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
159+
docker buildx create --name nexent_builder --use
160+
else
161+
docker buildx use nexent_builder
162+
fi
163+
- name: Checkout code
164+
uses: actions/checkout@v4
165+
- name: Build terminal image (arm64) and load locally
166+
run: |
167+
docker buildx build --platform linux/arm64 -t nexent/nexent-ubuntu-terminal:dev-arm64 --load -f make/terminal/Dockerfile .

‎.github/workflows/docker-build.yml‎

Lines changed: 0 additions & 53 deletions
This file was deleted.

0 commit comments

Comments
 (0)