Skip to content

Commit 8c4136e

Browse files
authored
Merge pull request #3 from frezes/feat/ci
add github workflows
2 parents 113d8ee + 011add5 commit 8c4136e

2 files changed

Lines changed: 87 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Build & Push Docker Image
2+
3+
on:
4+
push:
5+
paths:
6+
- '.extension-museum/**' # 只要 .extension-museum 下有变化就触发
7+
tags:
8+
- '*' # 打 tag 时也触发
9+
10+
jobs:
11+
docker:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
18+
- name: Log in to Docker Hub
19+
uses: docker/login-action@v2
20+
with:
21+
username: ${{ secrets.DOCKERHUB_USERNAME }}
22+
password: ${{ secrets.DOCKERHUB_TOKEN }}
23+
24+
- name: Set image tag
25+
id: vars
26+
run: |
27+
if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
28+
echo "tag=${GITHUB_REF_NAME}" >> $GITHUB_OUTPUT
29+
else
30+
echo "tag=latest" >> $GITHUB_OUTPUT
31+
fi
32+
33+
- name: Set up Docker Buildx
34+
uses: docker/setup-buildx-action@v3
35+
36+
- name: Build & Push (multi-arch)
37+
uses: docker/build-push-action@v5
38+
with:
39+
context: .
40+
file: ./Dockerfile
41+
push: true
42+
platforms: linux/amd64,linux/arm64
43+
tags: docker.io/frezes/ai-labs:${{ steps.vars.outputs.tag }}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Build & Package Extensions
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
16+
- name: Download ksbuilder
17+
run: |
18+
curl -L https://github.com/kubesphere/ksbuilder/releases/download/v0.4.5/ksbuilder_0.4.5_linux_amd64.tar.gz -o ksbuilder.tar.gz
19+
tar -zxvf ksbuilder.tar.gz
20+
sudo mv ksbuilder /usr/local/bin/ksbuilder
21+
chmod +x /usr/local/bin/ksbuilder
22+
23+
- name: Package All Extensions
24+
run: |
25+
mkdir -p .extension-museum
26+
cd .extension-museum
27+
for ext in $(ls ../extensions); do
28+
if [ -d "../extensions/$ext/config/$ext" ]; then
29+
echo "Packaging $ext..."
30+
ksbuilder package "../extensions/$ext/config/$ext"
31+
fi
32+
done
33+
34+
- name: Commit & Push .extension-museum updates
35+
run: |
36+
git config user.name "github-actions[bot]"
37+
git config user.email "github-actions[bot]@users.noreply.github.com"
38+
git add .extension-museum || true
39+
if ! git diff --cached --quiet; then
40+
git commit -m "Update .extension-museum for $GITHUB_REF_NAME"
41+
git push
42+
else
43+
echo "No changes in .extension-museum"
44+
fi

0 commit comments

Comments
 (0)