|
|
@@ -1,52 +1,19 @@
|
|
|
version: 2.1
|
|
|
|
|
|
-commands:
|
|
|
- checkout_with_retry:
|
|
|
- description: "Custom command to checkout with retry logic"
|
|
|
- steps:
|
|
|
- - run:
|
|
|
- name: Checkout with retry
|
|
|
- command: |
|
|
|
- MAX_RETRIES=3
|
|
|
- RETRY_COUNT=0
|
|
|
-
|
|
|
- while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
|
|
|
- if circleci-agent step halt; then
|
|
|
- echo "Running checkout attempt $((RETRY_COUNT + 1)) of $MAX_RETRIES"
|
|
|
- if checkout; then
|
|
|
- echo "✅ Checkout successful!"
|
|
|
- exit 0
|
|
|
- else
|
|
|
- echo "❌ Checkout failed"
|
|
|
- RETRY_COUNT=$((RETRY_COUNT + 1))
|
|
|
- if [ $RETRY_COUNT -lt $MAX_RETRIES ]; then
|
|
|
- echo "Waiting 10 seconds before retry..."
|
|
|
- sleep 10
|
|
|
- fi
|
|
|
- fi
|
|
|
- else
|
|
|
- echo "Failed to halt previous step"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
- done
|
|
|
-
|
|
|
- echo "Failed to checkout after $MAX_RETRIES attempts"
|
|
|
- exit 1
|
|
|
-
|
|
|
executors:
|
|
|
- self-hosted:
|
|
|
+ hardware-array:
|
|
|
machine:
|
|
|
resource_class: exo/hardware
|
|
|
|
|
|
jobs:
|
|
|
check_chip:
|
|
|
- executor: self-hosted
|
|
|
+ executor: hardware-array
|
|
|
parameters:
|
|
|
target_chip:
|
|
|
type: string
|
|
|
- description: "The Apple chip to check for (e.g., M1, M2, M4)"
|
|
|
+ description: "The Apple chip to check for (e.g., M1, M2, M3)"
|
|
|
steps:
|
|
|
- - checkout_with_retry
|
|
|
+ - checkout
|
|
|
- run:
|
|
|
name: Check for << parameters.target_chip >> Chip
|
|
|
command: |
|
|
|
@@ -69,7 +36,7 @@ jobs:
|
|
|
fi
|
|
|
|
|
|
workflows:
|
|
|
- check-chips:
|
|
|
+ benchmark:
|
|
|
jobs:
|
|
|
- check_chip:
|
|
|
name: "Check Chip M1"
|
|
|
@@ -79,4 +46,4 @@ workflows:
|
|
|
target_chip: "M2"
|
|
|
- check_chip:
|
|
|
name: "Check Chip M4"
|
|
|
- target_chip: "M4"
|
|
|
+ target_chip: "M4"
|