diff --git a/.github/workflows/kubeadm.yml b/.github/workflows/kubeadm.yml index 5f09e19..d490dcf 100644 --- a/.github/workflows/kubeadm.yml +++ b/.github/workflows/kubeadm.yml @@ -16,7 +16,12 @@ jobs: - name: Set environment variables run: | # Refer https://docs.docker.com/desktop/release-notes/ to get the K8s release version - echo "RELEASE=v1.31.4" >> $GITHUB_ENV + BRANCH_NAME="${GITHUB_REF#refs/heads/}" + if [[ $BRANCH_NAME == "main" ]]; then + echo "RELEASE=v1.31.4" >> $GITHUB_ENV + else + echo "RELEASE=$BRANCH_NAME" >> $GITHUB_ENV + fi echo "ARCH=amd64" >> $GITHUB_ENV echo "DOWNLOAD_DIR=${{ github.workspace }}/download" >> $GITHUB_ENV @@ -31,6 +36,11 @@ jobs: - name: List Kubernetes images with Aliyun registry mapping run: | + IMAGE_FILE=${{ github.workspace }}/images.properties + echo "# Original images.properties" + cat $IMAGE_FILE + echo "" + echo "# Generated images.properties" cd $DOWNLOAD_DIR ./kubeadm config images list --kubernetes-version ${{ env.RELEASE }} | awk ' { @@ -39,12 +49,19 @@ jobs: } else { print $0 "=" "registry.cn-hangzhou.aliyuncs.com/google_containers/" substr($0, index($0, "/") + 1) } - }' + }' | tee $IMAGE_FILE REPO_NAME=desktop-kubernetes curl -s "https://hub.docker.com/v2/repositories/docker/$REPO_NAME/tags/" | \ jq -r '.results[].name' | \ grep "$RELEASE" | \ awk -v repo="docker/$REPO_NAME" -v registry="registry.cn-hangzhou.aliyuncs.com/docker-containers/$REPO_NAME" \ - '{print repo ":" $1 "=" registry ":" $1}' - echo docker/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e - echo docker/desktop-storage-provisioner:v2.0=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-storage-provisioner:v2.0 + '{print repo ":" $1 "=" registry ":" $1}' | tee -a $IMAGE_FILE + echo docker/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e | tee -a $IMAGE_FILE + echo docker/desktop-storage-provisioner:v2.0=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-storage-provisioner:v2.0 | tee -a $IMAGE_FILE + if [ "$BRANCH_NAME" != "master" ]; then + git config --global user.email "denverdino@gmail.com" + git config --global user.name "denverdino" + git add $IMAGE_FILE + git commit -m "Update images.properties with Kubernetes release: $BRANCH_NAME" + git push + fi diff --git a/images.properties b/images.properties index a83880c..6ec80e7 100644 --- a/images.properties +++ b/images.properties @@ -7,4 +7,4 @@ registry.k8s.io/pause:3.10=registry.cn-hangzhou.aliyuncs.com/google_containers/p registry.k8s.io/etcd:3.5.15-0=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.15-0 docker/desktop-kubernetes:kubernetes-v1.31.4-cni-v1.6.0-critools-v1.31.1-cri-dockerd-v0.3.15-1-debian=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-kubernetes:kubernetes-v1.31.4-cni-v1.6.0-critools-v1.31.1-cri-dockerd-v0.3.15-1-debian docker/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e -docker/desktop-storage-provisioner:v2.0=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-storage-provisioner:v2.0 \ No newline at end of file +docker/desktop-storage-provisioner:v2.0=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-storage-provisioner:v2.0