@@ -59,8 +59,8 @@ inputs:
5959 description : ' Skip the bootstrap step (only create the builder)'
6060 required : false
6161 default : ' false'
62- fresh_builder :
63- description : ' Force creation of a new K8s builder even if one already exists. Used by the create-fresh-builder preliminary job. '
62+ suppress_fallback_warning :
63+ description : ' Suppress the fallback pod warning when intentionally using the Kubernetes driver '
6464 required : false
6565 default : ' false'
6666
@@ -87,46 +87,41 @@ runs:
8787 if : inputs.buildkit_worker_addresses == ''
8888 shell : bash
8989 run : |
90- if [[ "${{ inputs.fresh_builder }}" != "true" ]] && docker buildx inspect ${{ inputs.builder_name }} > /dev/null 2>&1; then
91- echo "✅ Builder '${{ inputs.builder_name }}' already exists. Skipping creation."
92- else
93- if [[ "${{ inputs.fresh_builder }}" == "true" ]] && docker buildx inspect ${{ inputs.builder_name }} > /dev/null 2>&1; then
94- echo "🔄 Forcing fresh K8s builder: removing existing '${{ inputs.builder_name }}'."
95- docker buildx rm ${{ inputs.builder_name }} || true
96- fi
97- echo "🔨 Creating K8s builder '${{ inputs.builder_name }}'."
98- docker buildx create --use --name ${{ inputs.builder_name }} --driver kubernetes --platform=linux/amd64 \
99- '--driver-opt=requests.ephemeral-storage=${{ inputs.ephemeral_storage }}' \
100- '--driver-opt=namespace=${{ inputs.namespace }}' \
101- '--driver-opt=loadbalance=sticky' \
102- '--driver-opt=replicas=${{ inputs.replicas }}' \
103- '--driver-opt=requests.cpu=${{ inputs.requests_cpu }}' \
104- '--driver-opt=requests.memory=${{ inputs.requests_memory }}' \
105- '--driver-opt=limits.memory=${{ inputs.limits_memory }}' \
106- '--driver-opt="nodeselector=kubernetes.io/arch=amd64,role=dynamo-builder-fallback"' \
107- '--driver-opt="tolerations=${{ inputs.tolerations }}"'
90+ # If the builder already exists, these commands will just set the right configurations to use it
91+ echo "🔨 Creating K8s builder '${{ inputs.builder_name }}'."
92+ docker buildx create --use --name ${{ inputs.builder_name }} --driver kubernetes --platform=linux/amd64 \
93+ '--driver-opt=requests.ephemeral-storage=${{ inputs.ephemeral_storage }}' \
94+ '--driver-opt=namespace=${{ inputs.namespace }}' \
95+ '--driver-opt=loadbalance=sticky' \
96+ '--driver-opt=replicas=${{ inputs.replicas }}' \
97+ '--driver-opt=requests.cpu=${{ inputs.requests_cpu }}' \
98+ '--driver-opt=requests.memory=${{ inputs.requests_memory }}' \
99+ '--driver-opt=limits.memory=${{ inputs.limits_memory }}' \
100+ '--driver-opt="nodeselector=kubernetes.io/arch=amd64,role=dynamo-builder-fallback"' \
101+ '--driver-opt="tolerations=${{ inputs.tolerations }}"'
102+
103+ docker buildx create --append --name ${{ inputs.builder_name }} --driver kubernetes --platform=linux/arm64 \
104+ '--driver-opt=requests.ephemeral-storage=${{ inputs.ephemeral_storage }}' \
105+ '--driver-opt=namespace=${{ inputs.namespace }}' \
106+ '--driver-opt=loadbalance=sticky' \
107+ '--driver-opt=replicas=${{ inputs.replicas }}' \
108+ '--driver-opt=requests.cpu=${{ inputs.requests_cpu }}' \
109+ '--driver-opt=requests.memory=${{ inputs.requests_memory }}' \
110+ '--driver-opt=limits.memory=${{ inputs.limits_memory }}' \
111+ '--driver-opt="nodeselector=kubernetes.io/arch=arm64,role=dynamo-builder-fallback"' \
112+ '--driver-opt="tolerations=${{ inputs.tolerations }}"'
108113
109- docker buildx create --append --name ${{ inputs.builder_name }} --driver kubernetes --platform=linux/arm64 \
110- '--driver-opt=requests.ephemeral-storage=${{ inputs.ephemeral_storage }}' \
111- '--driver-opt=namespace=${{ inputs.namespace }}' \
112- '--driver-opt=loadbalance=sticky' \
113- '--driver-opt=replicas=${{ inputs.replicas }}' \
114- '--driver-opt=requests.cpu=${{ inputs.requests_cpu }}' \
115- '--driver-opt=requests.memory=${{ inputs.requests_memory }}' \
116- '--driver-opt=limits.memory=${{ inputs.limits_memory }}' \
117- '--driver-opt="nodeselector=kubernetes.io/arch=arm64,role=dynamo-builder-fallback"' \
118- '--driver-opt="tolerations=${{ inputs.tolerations }}"'
119- fi
120114 sleep 3 # Give the builders some time to be ready
121115
122- if [[ "${{ inputs.skip_bootstrap }}" != "true" && "${{ inputs.fresh_builder }}" != "true" ]]; then
123- echo "::warning::Build is using fallback pod. Please alert the ops team. "
116+ if [[ "${{ inputs.suppress_fallback_warning }}" != "true" ]]; then
117+ echo "::warning::Build is using fallback pod"
124118 echo "## ⚠️ Fallback Build Warning" >> $GITHUB_STEP_SUMMARY
125- echo "This build is running on a **fallback pod**. Please alert the ops team ." >> $GITHUB_STEP_SUMMARY
119+ echo "This build is using the **fallback pod** because the preferred remote builders are unavailable. Expected during nightly runs and outside business hours ." >> $GITHUB_STEP_SUMMARY
126120 echo "" >> $GITHUB_STEP_SUMMARY
127121 fi
128122
129123
124+
130125 - name : Bootstrap buildkit
131126 if : inputs.skip_bootstrap != 'true'
132127 shell : bash
0 commit comments