@@ -112,6 +112,82 @@ jobs:
112112 echo "SAMPLE_DATA_DIR=$SAMPLE_DATA_DIR" >> $GITHUB_ENV
113113 echo "✅ Sample data files downloaded to $SAMPLE_DATA_DIR"
114114
115+ - name : Login to Azure for Sample Data Download
116+ uses : azure/login@v2
117+ with :
118+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
119+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
120+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
121+
122+ - name : Enable Public Access on Sample Data Storage (if disabled)
123+ id : sample_storage_access
124+ shell : bash
125+ env :
126+ STORAGE_ACCOUNT_NAME : ${{ vars.SAMPLE_DATA_STORAGE_ACCOUNT_NAME }}
127+ run : |
128+ echo "🔍 Checking public network access on sample data storage account '${STORAGE_ACCOUNT_NAME}'..."
129+
130+ # Discover the resource group for the sample data storage account
131+ SAMPLE_STORAGE_RG=$(az storage account list --query "[?name=='${STORAGE_ACCOUNT_NAME}'].resourceGroup | [0]" -o tsv)
132+ if [ -z "$SAMPLE_STORAGE_RG" ] || [ "$SAMPLE_STORAGE_RG" == "null" ]; then
133+ echo "❌ Could not find resource group for storage account '${STORAGE_ACCOUNT_NAME}'."
134+ exit 1
135+ fi
136+ echo "SAMPLE_STORAGE_RG=$SAMPLE_STORAGE_RG" >> $GITHUB_ENV
137+ echo "SAMPLE_STORAGE_RG=$SAMPLE_STORAGE_RG" >> $GITHUB_OUTPUT
138+
139+ CURRENT_ACCESS=$(az storage account show --name "$STORAGE_ACCOUNT_NAME" --resource-group "$SAMPLE_STORAGE_RG" --query "publicNetworkAccess" -o tsv)
140+ CURRENT_DEFAULT_ACTION=$(az storage account show --name "$STORAGE_ACCOUNT_NAME" --resource-group "$SAMPLE_STORAGE_RG" --query "networkRuleSet.defaultAction" -o tsv)
141+
142+ echo " Current publicNetworkAccess: $CURRENT_ACCESS"
143+ echo " Current defaultAction: $CURRENT_DEFAULT_ACTION"
144+
145+ NEEDS_RESTORE="false"
146+ if [ "$CURRENT_ACCESS" == "Disabled" ] || [ "$CURRENT_DEFAULT_ACTION" == "Deny" ]; then
147+ echo "🔓 Enabling public access on sample data storage account..."
148+ az storage account update --name "$STORAGE_ACCOUNT_NAME" --resource-group "$SAMPLE_STORAGE_RG" --public-network-access Enabled --output none
149+ az storage account update --name "$STORAGE_ACCOUNT_NAME" --resource-group "$SAMPLE_STORAGE_RG" --default-action Allow --output none
150+ NEEDS_RESTORE="true"
151+
152+ echo "⏳ Waiting 30 seconds for network changes to propagate..."
153+ sleep 30
154+ echo "✅ Public access enabled on sample data storage account."
155+ else
156+ echo "✅ Public access is already enabled."
157+ fi
158+
159+ echo "NEEDS_RESTORE=$NEEDS_RESTORE" >> $GITHUB_ENV
160+ echo "NEEDS_RESTORE=$NEEDS_RESTORE" >> $GITHUB_OUTPUT
161+ echo "ORIGINAL_ACCESS=$CURRENT_ACCESS" >> $GITHUB_ENV
162+ echo "ORIGINAL_DEFAULT_ACTION=$CURRENT_DEFAULT_ACTION" >> $GITHUB_ENV
163+
164+ - name : Download Sample Data from Azure Storage
165+ shell : bash
166+ env :
167+ STORAGE_ACCOUNT_NAME : ${{ vars.SAMPLE_DATA_STORAGE_ACCOUNT_NAME }}
168+ STORAGE_CONTAINER_NAME : ${{ vars.SAMPLE_DATA_STORAGE_CONTAINER_NAME }}
169+ run : |
170+ SAMPLE_DATA_DIR="${RUNNER_TEMP}/sample-data"
171+ mkdir -p "$SAMPLE_DATA_DIR"
172+
173+ echo "📥 Downloading sample data files from storage account '${STORAGE_ACCOUNT_NAME}'..."
174+ az storage blob download \
175+ --account-name "$STORAGE_ACCOUNT_NAME" \
176+ --container-name "$STORAGE_CONTAINER_NAME" \
177+ --name "azure_search_data.json" \
178+ --file "$SAMPLE_DATA_DIR/azure_search_data.json" \
179+ --auth-mode login
180+
181+ az storage blob download \
182+ --account-name "$STORAGE_ACCOUNT_NAME" \
183+ --container-name "$STORAGE_CONTAINER_NAME" \
184+ --name "azure_search_data_UseVectorization_SemanticSearch.json" \
185+ --file "$SAMPLE_DATA_DIR/azure_search_data_UseVectorization_SemanticSearch.json" \
186+ --auth-mode login
187+
188+ echo "SAMPLE_DATA_DIR=$SAMPLE_DATA_DIR" >> $GITHUB_ENV
189+ echo "✅ Sample data files downloaded to $SAMPLE_DATA_DIR"
190+
115191 - name : Validate Workflow Input Parameters
116192 shell : bash
117193 env :
0 commit comments