diff --git a/.github/actions/validate-bitcoin-da/action.yml b/.github/actions/validate-bitcoin-da/action.yml deleted file mode 100644 index 4dd09c57d3..0000000000 --- a/.github/actions/validate-bitcoin-da/action.yml +++ /dev/null @@ -1,106 +0,0 @@ -name: 'Bitcoin DA ID Validation' -description: 'Validates Bitcoin DA ID format and checks binaries' - -inputs: - expected_da_id: - description: 'Expected Bitcoin DA ID value' - required: true - action: - description: 'Which action to run (validate_format or check_binary)' - required: true - -runs: - using: "composite" - steps: - - name: Validate Format - if: inputs.action == 'validate_format' - shell: bash - run: | - echo "Raw EXPECTED_BITCOIN_DA_ID value:" - echo "${{ inputs.expected_da_id }}" - - echo "Length of EXPECTED_BITCOIN_DA_ID: ${#EXPECTED_BITCOIN_DA_ID}" - - if [ -z "${EXPECTED_BITCOIN_DA_ID// }" ]; then - echo "Error: EXPECTED_BITCOIN_DA_ID is not set, empty, or contains only spaces" - exit 1 - fi - - # Remove any trailing newline or carriage return - EXPECTED_BITCOIN_DA_ID=$(echo "${{ inputs.expected_da_id }}" | tr -d '\n\r') - - # Count commas and spaces - comma_count=$(echo "$EXPECTED_BITCOIN_DA_ID" | tr -cd ',' | wc -c) - space_count=$(echo "$EXPECTED_BITCOIN_DA_ID" | tr -cd ' ' | wc -c) - - echo "Number of commas: $comma_count" - echo "Number of spaces: $space_count" - - # Split the string into an array and trim each element - IFS=', ' read -ra raw_numbers <<< "$EXPECTED_BITCOIN_DA_ID" - numbers=() - for num in "${raw_numbers[@]}"; do - trimmed_num=$(echo "$num" | tr -d '[:space:]') # Remove all whitespace - numbers+=("$trimmed_num") - done - - echo "Number of elements after splitting and trimming: ${#numbers[@]}" - - # Check if there are exactly 8 numbers - if [ ${#numbers[@]} -ne 8 ]; then - echo "Error: EXPECTED_BITCOIN_DA_ID should contain exactly 8 numbers" - echo "Actual number of elements: ${#numbers[@]}" - exit 1 - fi - - # Check if all numbers are valid u32 - for i in "${!numbers[@]}"; do - num=${numbers[$i]} - echo "Checking number $((i+1)): '$num'" - echo "Hex representation: $(echo -n "$num" | xxd -p)" - if ! [[ $num =~ ^[0-9]+$ ]]; then - echo "Error: '$num' is not composed of digits only" - exit 1 - fi - if [ $num -gt 4294967295 ]; then - echo "Error: '$num' is greater than 4294967295" - exit 1 - fi - done - - # Reconstruct the trimmed DA_ID - trimmed_da_id=$(IFS=', '; echo "${numbers[*]}") - - # Final check - if [ $comma_count -eq 7 ] && [ $space_count -eq 7 ] && [ ${#numbers[@]} -eq 8 ]; then - echo "EXPECTED_BITCOIN_DA_ID is valid:" - echo "- Contains 7 commas" - echo "- Contains 7 spaces" - echo "- Contains 8 valid u32 numbers" - echo "Original value: $EXPECTED_BITCOIN_DA_ID" - echo "Trimmed value: $trimmed_da_id" - else - echo "Error: EXPECTED_BITCOIN_DA_ID format is incorrect" - echo "- Comma count: $comma_count (should be 7)" - echo "- Space count: $space_count (should be 7)" - echo "- Number count: ${#numbers[@]} (should be 8)" - exit 1 - fi - - - name: Check Binary - if: inputs.action == 'check_binary' - shell: bash - run: | - RESULT=$(grep -R "BATCH_PROOF_BITCOIN_ID" target/ || echo "Grep failed") - EXPECTED_BITCOIN_DA_ID=$(echo "${{ env.EXPECTED_BITCOIN_DA_ID }}" | tr -d '\n\r') - if echo "$RESULT" | grep -q "$EXPECTED_BITCOIN_DA_ID"; then - echo "Check passed successfully." - echo "Expected: BATCH_PROOF_BITCOIN_ID ${{ env.EXPECTED_BITCOIN_DA_ID }} " - echo "Actual: $RESULT" - - else - echo "Check failed. Expected: BATCH_PROOF_BITCOIN_ID ${{ env.EXPECTED_BITCOIN_DA_ID }} " - echo "Actual: $RESULT" - exit 1 - fi - diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index dbfcb39b06..a0fc6eb09c 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -486,32 +486,6 @@ jobs: run: ./.github/scripts/check_genesis.sh shell: bash - validate_and_check_DA_ID: - runs-on: ubicloud-standard-2 - needs: build - continue-on-error: true - steps: - - uses: actions/checkout@v4 - - - name: Validate EXPECTED_BITCOIN_DA_ID format - uses: ./.github/actions/validate-bitcoin-da - with: - expected_da_id: ${{ vars.EXPECTED_BITCOIN_DA_ID }} - action: validate_format - - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: citrea-build - path: target/release - - - name: Check BATCH_PROOF_BITCOIN_ID - id: check-id - uses: ./.github/actions/validate-bitcoin-da - with: - expected_da_id: ${{ vars.EXPECTED_BITCOIN_DA_ID }} - action: check_binary - docker-setup: runs-on: ubicloud-standard-2 steps: