Skip to content

Commit d1acb06

Browse files
authored
🔨 Add gitcode workflows
2 parents 8fdceeb + 24bdec2 commit d1acb06

File tree

2 files changed

+197
-1
lines changed

2 files changed

+197
-1
lines changed
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
name: Docker Build and Push All Images to tencentyun
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
runner_label_json:
7+
description: 'JSON 格式的 runner 标签数组(如 ["ubuntu-latest"] 或 ["self-hosted"])'
8+
required: true
9+
default: '["ubuntu-latest"]'
10+
11+
jobs:
12+
build-and-push-main-amd64:
13+
runs-on: ${{ fromJson(inputs.runner_label_json) }}
14+
steps:
15+
- name: Set up Docker Buildx
16+
run: |
17+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
18+
docker buildx create --name nexent_builder --use
19+
else
20+
docker buildx use nexent_builder
21+
fi
22+
- name: Checkout code
23+
uses: actions/checkout@v4
24+
- name: Build main image (amd64) and load locally
25+
run: |
26+
docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent:amd64 -f make/main/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua .
27+
- name: Login to Tencent Cloud
28+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
29+
- name: Push main image (amd64) to Tencent Cloud
30+
run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent:amd64
31+
32+
build-and-push-main-arm64:
33+
runs-on: ${{ fromJson(inputs.runner_label_json) }}
34+
steps:
35+
- name: Set up Docker Buildx
36+
run: |
37+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
38+
docker buildx create --name nexent_builder --use
39+
else
40+
docker buildx use nexent_builder
41+
fi
42+
- name: Checkout code
43+
uses: actions/checkout@v4
44+
- name: Build main image (arm64) and load locally
45+
run: |
46+
docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent:arm64 -f make/main/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua .
47+
- name: Login to Tencent Cloud
48+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
49+
- name: Push main image (arm64) to Tencent Cloud
50+
run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent:arm64
51+
52+
build-and-push-data-process-amd64:
53+
runs-on: ${{ fromJson(inputs.runner_label_json) }}
54+
steps:
55+
- name: Free up disk space on GitHub runner
56+
run: |
57+
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
58+
- name: Set up Docker Buildx
59+
run: |
60+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
61+
docker buildx create --name nexent_builder --use
62+
else
63+
docker buildx use nexent_builder
64+
fi
65+
- name: Checkout code
66+
uses: actions/checkout@v4
67+
- name: Clone model
68+
run: |
69+
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/Nexent-AI/model-assets
70+
cd ./model-assets
71+
GIT_TRACE=1 GIT_CURL_VERBOSE=1 GIT_LFS_LOG=debug git lfs pull
72+
rm -rf .git .gitattributes
73+
- name: Build data process image (amd64) and load locally
74+
run: |
75+
docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:amd64 -f make/data_process/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua .
76+
- name: Login to Tencent Cloud
77+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
78+
- name: Push data process image (amd64) to Tencent Cloud
79+
run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:amd64
80+
81+
build-and-push-data-process-arm64:
82+
runs-on: ${{ fromJson(inputs.runner_label_json) }}
83+
steps:
84+
- name: Free up disk space on GitHub runner
85+
run: |
86+
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
87+
- name: Set up Docker Buildx
88+
run: |
89+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
90+
docker buildx create --name nexent_builder --use
91+
else
92+
docker buildx use nexent_builder
93+
fi
94+
- name: Checkout code
95+
uses: actions/checkout@v4
96+
- name: Clone model
97+
run: |
98+
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/Nexent-AI/model-assets
99+
cd ./model-assets
100+
GIT_TRACE=1 GIT_CURL_VERBOSE=1 GIT_LFS_LOG=debug git lfs pull
101+
rm -rf .git .gitattributes
102+
- name: Build data process image (arm64) and load locally
103+
run: |
104+
docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:arm64 -f make/data_process/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua .
105+
- name: Login to Tencent Cloud
106+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
107+
- name: Push data process image (arm64) to Tencent Cloud
108+
run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:arm64
109+
110+
build-and-push-web-amd64:
111+
runs-on: ${{ fromJson(inputs.runner_label_json) }}
112+
steps:
113+
- name: Set up Docker Buildx
114+
run: |
115+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
116+
docker buildx create --name nexent_builder --use
117+
else
118+
docker buildx use nexent_builder
119+
fi
120+
- name: Checkout code
121+
uses: actions/checkout@v4
122+
- name: Build web image (amd64) and load locally
123+
run: |
124+
docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-web:amd64 -f make/web/Dockerfile --build-arg MIRROR=https://registry.npmmirror.com --build-arg APK_MIRROR=tsinghua .
125+
- name: Login to Tencent Cloud
126+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
127+
- name: Push web image (amd64) to Tencent Cloud
128+
run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:amd64
129+
130+
build-and-push-web-arm64:
131+
runs-on: ${{ fromJson(inputs.runner_label_json) }}
132+
steps:
133+
- name: Set up Docker Buildx
134+
run: |
135+
if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then
136+
docker buildx create --name nexent_builder --use
137+
else
138+
docker buildx use nexent_builder
139+
fi
140+
- name: Checkout code
141+
uses: actions/checkout@v4
142+
- name: Build web image (arm64) and load locally
143+
run: |
144+
docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-web:arm64 -f make/web/Dockerfile --build-arg MIRROR=https://registry.npmmirror.com --build-arg APK_MIRROR=tsinghua .
145+
- name: Login to Tencent Cloud
146+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
147+
- name: Push web image (arm64) to Tencent Cloud
148+
run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:arm64
149+
150+
manifest-push-main:
151+
runs-on: ubuntu-latest
152+
needs:
153+
- build-and-push-main-amd64
154+
- build-and-push-main-arm64
155+
steps:
156+
- name: Login to Tencent Cloud
157+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
158+
- name: Create and push manifest for main (Tencent Cloud)
159+
run: |
160+
docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent:latest \
161+
ccr.ccs.tencentyun.com/nexent-hub/nexent:amd64 \
162+
ccr.ccs.tencentyun.com/nexent-hub/nexent:arm64
163+
docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent:latest
164+
165+
manifest-push-data-process:
166+
runs-on: ubuntu-latest
167+
needs:
168+
- build-and-push-data-process-amd64
169+
- build-and-push-data-process-arm64
170+
steps:
171+
- name: Login to Tencent Cloud
172+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
173+
- name: Create and push manifest for data-process (Tencent Cloud)
174+
run: |
175+
docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:latest \
176+
ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:amd64 \
177+
ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:arm64
178+
docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:latest
179+
180+
manifest-push-web:
181+
runs-on: ubuntu-latest
182+
needs:
183+
- build-and-push-web-amd64
184+
- build-and-push-web-arm64
185+
steps:
186+
- name: Login to Tencent Cloud
187+
run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin
188+
- name: Create and push manifest for web (Tencent Cloud)
189+
run: |
190+
docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-web:latest \
191+
ccr.ccs.tencentyun.com/nexent-hub/nexent-web:amd64 \
192+
ccr.ccs.tencentyun.com/nexent-hub/nexent-web:arm64
193+
docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:latest

doc/docs/zh/opensource-memorial-wall.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ Nexent的自然语言生成Agent以及多智能体协同是我一直在研究的
6868
零代码开发Agent的想法太有趣了,同时这个开源社区的氛围很好,希望能贡献自己的一份力量。
6969
:::
7070

71+
::: info Puppet - 2025-08-08
72+
🌟来尝试使用论文阅读工具,项目很不错!
73+
:::
74+
7175
::: info plus - 2025-08-18
7276
在公众号看到可以自己做一个论文助手的文章,后面又跟着学习了MCP服务的使用等智能体开发知识,是智能体学习路上的一次有意义的实践,
7377
:::
74-

0 commit comments

Comments
 (0)