Skip to content

save calico:v3.28.0 #720

save calico:v3.28.0

save calico:v3.28.0 #720

Workflow file for this run

name: Save Images
on:
workflow_dispatch:
inputs:
APP_NAME:
description: 'app name'
required: true
default: 'kubeblocks-enterprise'
type: choice
options:
- kubeblocks-enterprise
- kubeblocks-enterprise-patch
- kubeblocks
- kubeblocks-cloud
- cert-manager
- gemini
- ape-local-csi-driver
- apecloud-mysql
- clickhouse
- damengdb
- elasticsearch
- gaussdb
- gbase
- kafka
- kata
- kingbase
- kubebench
- kubechat
- k3s
- kubernetes
- loki
- minio
- mongodb
- mssql
- mysql
- metallb
- metrics-server
- oceanbase
- oceanbase-proxy
- postgresql
- postgres-operator
- qdrant
- rabbitmq
- rocketmq
- redis
- starrocks
- starrocks-3.2.2
- starrocks-3.3.0
- starrocks-3.3.2
- starrocks-3.3.3
- spiderpool
- victoria-metrics
- xinference-cpu
- xinference-gpu
- zookeeper
- ingress-nginx
- nvidia-device-plugin
- dify
- tidb
- vastbase
- calico
APP_VERSION:
description: 'app version'
required: true
default: ''
ADD_IMAGES:
description: 'additional images (e.g. docker.io/apecloud/kubeblocks:0.8.1)'
required: false
default: ''
KB_VERSION:
description: 'KubeBlocks version'
required: false
default: ''
GEMINI_VERSION:
description: 'Gemini '
required: false
default: ''
OTELD_VERSION:
description: 'Oteld version'
required: false
default: ''
INSTALLER_VERSION:
description: 'Offline Installer version'
required: false
default: ''
DMS_VERSION:
description: 'Dms version'
required: false
default: ''
run-name: save ${{ inputs.APP_NAME }}:${{ inputs.APP_VERSION }} ${{ inputs.ADD_IMAGES }}
env:
DOCKER_REGISTRY_URL: docker.io
DOCKER_USER: ${{ secrets.DOCKER_REGISTRY_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
OSS_KEY_ID: ${{ secrets.OSS_KEY_ID }}
OSS_KEY_SECRET: ${{ secrets.OSS_KEY_SECRET }}
OSS_ENDPOINT: "oss-cn-zhangjiakou.aliyuncs.com"
OSS_BUCKET: "kubeblocks-oss"
jobs:
save-app-images:
name: save app images
runs-on: ubuntu-latest
steps:
- name: Free disk space
run: |
if [[ "${{ inputs.APP_NAME }}" == "mysql" || "${{ inputs.APP_NAME }}" == "starrocks" ]]; then
sudo apt-get autoremove -y >/dev/null 2>&1
sudo apt-get autoclean -y >/dev/null 2>&1
sudo rm -rf /usr/local/lib/android >/dev/null 2>&1
docker rmi $(docker image ls -aq) >/dev/null 2>&1
sudo swapoff -a
sudo rm -f /swapfile
df -h
sudo mkdir -p /mnt/new-storage
sudo touch /etc/docker/daemon.json
sudo tee /etc/docker/daemon.json <<EOF
{
"data-root": "/mnt/new-storage"
}
EOF
sudo systemctl restart docker
elif [[ "${{ inputs.APP_NAME }}" == "kubeblocks-enterprise" || "${{ inputs.APP_NAME }}" == "elasticsearch" || "${{ inputs.APP_NAME }}" == "starrocks"* ]]; then
sudo apt-get autoremove -y >/dev/null 2>&1
sudo apt-get autoclean -y >/dev/null 2>&1
sudo rm -rf /usr/local/lib/android >/dev/null 2>&1
docker rmi $(docker image ls -aq) >/dev/null 2>&1
sudo swapoff -a
sudo rm -f /swapfile
df -h
fi
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
registry: ${{ env.DOCKER_REGISTRY_URL }}
username: ${{ env.DOCKER_USER }}
password: ${{ env.DOCKER_PASSWORD }}
- name: save images
env:
add_images: ${{ inputs.ADD_IMAGES }}
app_name: ${{ inputs.APP_NAME }}
app_version: ${{ inputs.APP_VERSION }}
kubeblocks_version: ${{ inputs.KB_VERSION }}
gemini_version: ${{ inputs.GEMINI_VERSION }}
oteld_version: ${{ inputs.OTELD_VERSION }}
installer_version: ${{ inputs.INSTALLER_VERSION }}
dms_version: ${{ inputs.DMS_VERSION }}
images_file: .github/images/${{ inputs.APP_NAME }}.txt
run: |
bash .github/scripts/save_images.sh
- name: get images size
run: |
docker images
du -sh ${{ inputs.APP_NAME }}-${{ inputs.APP_VERSION }}.tar.gz
- uses: manyuanrong/[email protected]
with:
access-key-id: "${{ secrets.OSS_KEY_ID }}"
access-key-secret: "${{ secrets.OSS_KEY_SECRET }}"
endpoint: "${{ env.OSS_ENDPOINT }}"
- name: Upload images to oss
id: upload_to_oss
run: |
echo "Free space:"
df -h
IMAGE_PKG_NAME="${{ inputs.APP_NAME }}-${{ inputs.APP_VERSION }}.tar.gz"
ossutil cp -rf ./${IMAGE_PKG_NAME} oss://${{ env.OSS_BUCKET }}/images/${IMAGE_PKG_NAME}
upload_ret=$?
if [[ $upload_ret -eq 0 ]]; then
echo "upload ${IMAGE_PKG_NAME} to oss successfully"
else
exit 1
fi
save-result:
runs-on: ubuntu-latest
needs: [ save-app-images ]
if: ${{ always() }}
outputs:
image-pkg-name: ${{ steps.get_save_result.outputs.image_pkg_name }}
save-result: ${{ steps.get_save_result.outputs.save_result }}
steps:
- name: get save result
id: get_save_result
run: |
SAVE_RESULT="error"
IMAGE_PKG_NAME="${{ inputs.APP_NAME }}-${{ inputs.APP_VERSION }}.tar.gz"
if [[ "${{ needs.save-app-images.result }}" == "success" ]]; then
SAVE_RESULT="success"
IMAGE_PKG_NAME="http://kubeblocks-oss.${{ env.OSS_ENDPOINT }}/images/${IMAGE_PKG_NAME}"
fi
echo 'save_result='$SAVE_RESULT >> $GITHUB_OUTPUT
echo 'image_pkg_name='${IMAGE_PKG_NAME} >> $GITHUB_OUTPUT
send-message:
permissions:
id-token: write
contents: read
needs: [ save-result ]
if: ${{ always() }}
uses: apecloud-inc/apecloud-cd/.github/workflows/[email protected]
with:
TYPE: "2"
CONTENT: "save image ${{ needs.save-result.outputs.image-pkg-name }} ${{ needs.save-result.outputs.save-result }}"
secrets: inherit