test-workflow-local.sh raw

   1  #!/usr/bin/env bash
   2  # Manual test script for .github/workflows/go.yml
   3  # This replicates the build job steps locally
   4  
   5  set -e
   6  
   7  echo "=== Testing GitHub Actions Workflow Locally ==="
   8  echo ""
   9  
  10  # Check Go version
  11  echo "Checking Go version..."
  12  go version
  13  echo ""
  14  
  15  # Setup library path (runtime optional)
  16  if [ -f "pkg/crypto/p8k/libsecp256k1.so" ]; then
  17      export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$(pwd)/pkg/crypto/p8k"
  18      echo "Library path set for libsecp256k1.so (runtime optional)"
  19  fi
  20  echo ""
  21  
  22  # Build with pure Go + purego (no CGO needed)
  23  echo "Building with pure Go + purego..."
  24  CGO_ENABLED=0 go build -v ./...
  25  echo ""
  26  
  27  # Test with pure Go + purego
  28  echo "Testing with pure Go + purego..."
  29  CGO_ENABLED=0 go test -v $(go list ./... | xargs -n1 sh -c 'ls $0/*_test.go 1>/dev/null 2>&1 && echo $0' | grep .)
  30  echo ""
  31  
  32  echo "=== Build job completed successfully ==="
  33  
  34