Merge pull request #1363 from XinFinOrg/cicd-selective-deploy

devnet cicd selective deployment
This commit is contained in:
Wanwiset Peerapatanapokin 2025-08-20 14:51:47 +04:00 committed by GitHub
commit 3ca2ff4fdb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -100,39 +100,48 @@ jobs:
echo "image_name=$image_name" echo "image_name=$image_name"
echo "image_name=$image_name" >> "$GITHUB_OUTPUT" echo "image_name=$image_name" >> "$GITHUB_OUTPUT"
# devnet_k8_apply: devnet_k8_apply:
# runs-on: ubuntu-latest runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/') if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
# needs: devnet_build_push needs: devnet_build_push
# steps: steps:
# - uses: actions/checkout@v4 - uses: actions/checkout@v4
# - name: Set up kubectl - name: Set up kubectl
# uses: azure/setup-kubectl@v4 uses: azure/setup-kubectl@v4
# with: with:
# version: 'v1.19.11' version: 'v1.19.11'
# - name: Apply new image version to Kubernetes deployments - name: Apply new image version to Kubernetes deployments
# run: | run: |
# mkdir -p $HOME/.kube mkdir -p $HOME/.kube
# echo "${{ secrets.KUBE_CONFIG }}" | base64 --decode > $HOME/.kube/config echo "${{ secrets.KUBE_CONFIG }}" | base64 --decode > $HOME/.kube/config
# chmod 600 $HOME/.kube/config chmod 600 $HOME/.kube/config
# git_hash=$(git rev-parse --short "$GITHUB_SHA") git_hash=$(git rev-parse --short "$GITHUB_SHA")
# masternodes=$(kubectl get deployment -o json| jq -r '.items[] | select(.metadata.name | test("devnet")) | "\(.metadata.name)"') masternodes=$(kubectl get deployment -o json| jq -r '.items[] | select(.metadata.name | test("devnet")) | "\(.metadata.name)"')
# rpcs=$(kubectl get deployment -o json| jq -r '.items[] | select(.metadata.name | test("rpc")) | "\(.metadata.name)"') rpcs=$(kubectl get deployment -o json| jq -r '.items[] | select(.metadata.name | test("rpc")) | "\(.metadata.name)"')
echo "Masternodes: $masternodes"
echo "RPCs: $rpcs"
# while read -r name; do skip_names=("devnet1" "devnet2" "devnet3" "devnet4" "devnet9" "devnet10" "devnet11" "devnet12" "devnetrpc" "devnetrpc2")
# kubectl set image deployment/$name $name=xinfinorg/devnet:dev-upgrade-${git_hash} || true while read -r name; do
# done <<< "$masternodes" if [[ " ${skip_names[@]} " =~ " ${name} " ]]; then
echo "Skipping deployment: $name"
# while read -r name; do continue
# kubectl set image deployment/$name $name=xinfinorg/devnet:dev-upgrade-${git_hash} || true fi
# done <<< "$rpcs" echo "Updating deployment: $name"
kubectl set image deployment/$name $name=xinfinorg/devnet:dev-upgrade-${git_hash} || true
done <<< "$masternodes"
while read -r name; do
kubectl set image deployment/$name $name=xinfinorg/devnet:dev-upgrade-${git_hash} || true
done <<< "$rpcs"
# devnet_send_notification: devnet_send_notification:
# runs-on: ubuntu-latest runs-on: ubuntu-latest
# needs: devnet_k8_apply needs: devnet_k8_apply
# if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/') if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
# steps: steps:
# - uses: actions/checkout@v4 - uses: actions/checkout@v4
# - name: Send deployment notification - name: Send deployment notification
# run: | run: |
# curl --location --request POST "66.94.98.186:8080/deploy?environment=devnet&service=xdc&version=${GITHUB_SHA}" curl --location --request POST "66.94.98.186:8080/deploy?environment=devnet&service=xdc&version=${GITHUB_SHA}"