FairMQ/.github/workflows/test-macos-runner.yml
Alexey Rybalchenko 4176376b21 f
2025-08-26 11:56:49 +02:00

94 lines
2.5 KiB
YAML

name: Test macOS Self-Hosted Runner
on:
workflow_dispatch:
push:
branches: [ dev, master ]
pull_request:
branches: [ dev, master ]
jobs:
test-runner:
runs-on: [self-hosted, macOS-15]
timeout-minutes: 120
steps:
- name: Setup environment
run: |
echo "Setting up PATH for Homebrew..."
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
echo "PATH=$PATH" >> $GITHUB_ENV
- name: Checkout code
uses: actions/checkout@v4
- name: System information
run: |
echo "Runner information:"
uname -a
sw_vers
echo "CPU info:"
sysctl -n machdep.cpu.brand_string
echo "Memory info:"
system_profiler SPHardwareDataType | grep "Memory:"
echo "Disk space:"
df -h
- name: Check development tools
run: |
echo "Xcode tools version:"
xcode-select -p
clang --version
echo "CMake version:"
cmake --version || echo "CMake not installed"
echo "Git version:"
git --version
echo "Available SDKs:"
xcodebuild -showsdks || echo "Xcode not fully installed"
- name: Test basic compilation
run: |
echo "Current working directory:"
pwd
ls -la
echo "Testing compilation in current directory:"
# Create test file
cat > test.cpp << 'EOF'
#include <iostream>
int main() {
std::cout << "Hello from macOS runner!" << std::endl;
return 0;
}
EOF
echo "File created, attempting compilation..."
ls -la test.cpp
# Try compilation with verbose output
clang++ -v -o test test.cpp 2>&1 || echo "Compilation failed"
# Check if binary was created
ls -la test* || echo "No test binary found"
# If binary exists, try to run it
if [ -f test ]; then
echo "Binary found, testing execution:"
./test
else
echo "Binary not created, trying alternative approach:"
# Try compiling to home directory
clang++ -o ~/test test.cpp
~/test
fi
- name: Check FairMQ dependencies
run: |
echo "Checking potential FairMQ build dependencies:"
brew --version || echo "Homebrew not installed"
pkg-config --version || echo "pkg-config not available"
echo "Looking for common HEP libraries..."
find /usr/local /opt -name "*root*" -type d 2>/dev/null | head -5 || echo "No ROOT installation found"