Docker Build and Push All Images to tencentyun #51
Workflow file for this run
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: Docker Build and Push All Images to tencentyun | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Image version tag (e.g. v1.0.0 or latest)' | |
| required: true | |
| default: 'latest' | |
| push_latest: | |
| description: 'Also push latest tag' | |
| required: false | |
| default: false | |
| type: boolean | |
| runner_label_json: | |
| description: 'runner array in json format (e.g. ["ubuntu-latest"] or ["self-hosted"])' | |
| required: true | |
| default: '["ubuntu-latest"]' | |
| jobs: | |
| build-and-push-main-amd64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build main image (amd64) and load locally | |
| run: | | |
| docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-amd64 -f make/main/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push main image (amd64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-amd64 | |
| - name: Tag main image (amd64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-amd64 ccr.ccs.tencentyun.com/nexent-hub/nexent:amd64 | |
| - name: Push latest main image (amd64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent:amd64 | |
| build-and-push-main-arm64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build main image (arm64) and load locally | |
| run: | | |
| docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-arm64 -f make/main/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push main image (arm64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-arm64 | |
| - name: Tag main image (arm64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-arm64 ccr.ccs.tencentyun.com/nexent-hub/nexent:arm64 | |
| - name: Push latest main image (arm64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent:arm64 | |
| build-and-push-data-process-amd64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Free up disk space on GitHub runner | |
| run: | | |
| sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Clone model | |
| run: | | |
| GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/Nexent-AI/model-assets | |
| cd ./model-assets | |
| GIT_TRACE=1 GIT_CURL_VERBOSE=1 GIT_LFS_LOG=debug git lfs pull | |
| rm -rf .git .gitattributes | |
| - name: Build data process image (amd64) and load locally | |
| run: | | |
| docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-amd64 -f make/data_process/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push data process image (amd64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-amd64 | |
| - name: Tag data process image (amd64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-amd64 ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:amd64 | |
| - name: Push latest data process image (amd64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:amd64 | |
| build-and-push-data-process-arm64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Free up disk space on GitHub runner | |
| run: | | |
| sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Clone model | |
| run: | | |
| GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/Nexent-AI/model-assets | |
| cd ./model-assets | |
| GIT_TRACE=1 GIT_CURL_VERBOSE=1 GIT_LFS_LOG=debug git lfs pull | |
| rm -rf .git .gitattributes | |
| - name: Build data process image (arm64) and load locally | |
| run: | | |
| docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-arm64 -f make/data_process/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push data process image (arm64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-arm64 | |
| - name: Tag data process image (arm64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-arm64 ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:arm64 | |
| - name: Push latest data process image (arm64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:arm64 | |
| build-and-push-web-amd64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build web image (amd64) and load locally | |
| run: | | |
| docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-amd64 -f make/web/Dockerfile --build-arg MIRROR=https://registry.npmmirror.com --build-arg APK_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push web image (amd64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-amd64 | |
| - name: Tag web image (amd64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-amd64 ccr.ccs.tencentyun.com/nexent-hub/nexent-web:amd64 | |
| - name: Push latest web image (amd64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:amd64 | |
| build-and-push-web-arm64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build web image (arm64) and load locally | |
| run: | | |
| docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-arm64 -f make/web/Dockerfile --build-arg MIRROR=https://registry.npmmirror.com --build-arg APK_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push web image (arm64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-arm64 | |
| - name: Tag web image (arm64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-arm64 ccr.ccs.tencentyun.com/nexent-hub/nexent-web:arm64 | |
| - name: Push latest web image (arm64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:arm64 | |
| build-and-push-terminal-amd64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build terminal image (amd64) and load locally | |
| run: | | |
| docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-amd64 -f make/terminal/Dockerfile . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push terminal image (amd64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-amd64 | |
| - name: Tag terminal image (amd64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-amd64 ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:amd64 | |
| - name: Push latest terminal image (amd64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:amd64 | |
| build-and-push-terminal-arm64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build terminal image (arm64) and load locally | |
| run: | | |
| docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-arm64 -f make/terminal/Dockerfile . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push terminal image (arm64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-arm64 | |
| - name: Tag terminal image (arm64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-arm64 ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:arm64 | |
| - name: Push latest terminal image (arm64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:arm64 | |
| build-and-push-mcp-amd64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build MCP image (amd64) and load locally | |
| run: | | |
| docker buildx build --platform linux/amd64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-amd64 -f make/mcp/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push MCP image (amd64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-amd64 | |
| - name: Tag MCP image (amd64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-amd64 ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:amd64 | |
| - name: Push latest MCP image (amd64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:amd64 | |
| build-and-push-mcp-arm64: | |
| runs-on: ${{ fromJson(inputs.runner_label_json) }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| run: | | |
| if ! docker buildx inspect nexent_builder > /dev/null 2>&1; then | |
| docker buildx create --name nexent_builder --use | |
| else | |
| docker buildx use nexent_builder | |
| fi | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build MCP image (arm64) and load locally | |
| run: | | |
| docker buildx build --platform linux/arm64 --load -t ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-arm64 -f make/mcp/Dockerfile --build-arg MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple --build-arg APT_MIRROR=tsinghua . | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Push MCP image (arm64) to Tencent Cloud | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-arm64 | |
| - name: Tag MCP image (arm64) as latest | |
| if: inputs.push_latest == 'true' | |
| run: docker tag ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-arm64 ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:arm64 | |
| - name: Push latest MCP image (arm64) to Tencent Cloud | |
| if: inputs.push_latest == 'true' | |
| run: docker push ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:arm64 | |
| manifest-push-main: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - build-and-push-main-amd64 | |
| - build-and-push-main-arm64 | |
| steps: | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Create and push manifest for main (Tencent Cloud) | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }} \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }}-arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent:${{ inputs.version }} | |
| - name: Create and push latest manifest for main (Tencent Cloud) | |
| if: inputs.push_latest == 'true' | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent:latest \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent:amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent:arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent:latest | |
| manifest-push-data-process: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - build-and-push-data-process-amd64 | |
| - build-and-push-data-process-arm64 | |
| steps: | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Create and push manifest for data-process (Tencent Cloud) | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }} \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }}-arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:${{ inputs.version }} | |
| - name: Create and push latest manifest for data-process (Tencent Cloud) | |
| if: inputs.push_latest == 'true' | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:latest \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-data-process:latest | |
| manifest-push-web: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - build-and-push-web-amd64 | |
| - build-and-push-web-arm64 | |
| steps: | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Create and push manifest for web (Tencent Cloud) | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }} \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }}-arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:${{ inputs.version }} | |
| - name: Create and push latest manifest for web (Tencent Cloud) | |
| if: inputs.push_latest == 'true' | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-web:latest \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-web:amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-web:arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-web:latest | |
| manifest-push-terminal: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - build-and-push-terminal-amd64 | |
| - build-and-push-terminal-arm64 | |
| steps: | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Create and push manifest for terminal (Tencent Cloud) | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }} \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }}-arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:${{ inputs.version }} | |
| - name: Create and push latest manifest for terminal (Tencent Cloud) | |
| if: inputs.push_latest == 'true' | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:latest \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-ubuntu-terminal:latest | |
| manifest-push-mcp: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - build-and-push-mcp-amd64 | |
| - build-and-push-mcp-arm64 | |
| steps: | |
| - name: Login to Tencent Cloud | |
| run: echo ${{ secrets.TCR_PASSWORD }} | docker login ccr.ccs.tencentyun.com --username=${{ secrets.TCR_USERNAME }} --password-stdin | |
| - name: Create and push manifest for mcp (Tencent Cloud) | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }} \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }}-arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:${{ inputs.version }} | |
| - name: Create and push latest manifest for mcp (Tencent Cloud) | |
| if: inputs.push_latest == 'true' | |
| run: | | |
| docker manifest create ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:latest \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:amd64 \ | |
| ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:arm64 | |
| docker manifest push ccr.ccs.tencentyun.com/nexent-hub/nexent-mcp:latest |