fix ci error #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build & Package Extensions | ||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| paths: | ||
| - 'extensions/**' | ||
| push: | ||
| tags: | ||
| - 'v*' # 匹配所有 v 开头的 tag | ||
| permissions: | ||
| contents: write # 允许使用 GITHUB_TOKEN 推送回仓库 | ||
| jobs: | ||
| package: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Install ksbuilder | ||
| run: | | ||
| wget -q https://github.com/kubesphere/ksbuilder/releases/download/v0.4.5/ksbuilder_0.4.5_linux_amd64.tar.gz | ||
| tar -xzf ksbuilder_0.4.5_linux_amd64.tar.gz | ||
| sudo mv ksbuilder /usr/local/bin/ | ||
| - name: Generate .extension-museum packages | ||
| run: | | ||
| mkdir -p .extension-museum | ||
| for ext in ./extensions/*/config/*; do | ||
| if [ -d "$ext" ]; then | ||
| echo "Packaging $ext" | ||
| ksbuilder package "$ext" --output .extension-museum | ||
| fi | ||
| done | ||
| - name: Commit & Push .extension-museum updates to main | ||
| run: | | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "github-actions[bot]@users.noreply.github.com" | ||
| git add .extension-museum || true | ||
| if ! git diff --cached --quiet; then | ||
| git commit -m "Update .extension-museum for $GITHUB_REF_NAME" | ||
| git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} | ||
| git push origin HEAD:main | ||
| else | ||
| echo "No changes in .extension-museum" | ||
| fi | ||
| docker: | ||
| # 只在 tag push 时构建镜像 | ||
| if: github.ref_type == 'tag' | ||
| runs-on: ubuntu-latest | ||
| needs: package | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Log in to DockerHub | ||
| uses: docker/login-action@v2 | ||
| with: | ||
| username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
| password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
| - name: Build and Push Docker Image | ||
| run: | | ||
| IMAGE_NAME=docker.io/frezes/ai-labs | ||
| TAG=${GITHUB_REF_NAME} | ||
| docker build -t $IMAGE_NAME:$TAG -t $IMAGE_NAME:latest . | ||
| docker push $IMAGE_NAME:$TAG | ||
| docker push $IMAGE_NAME:latest | ||