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