File size: 1,796 Bytes
a4b70d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash
# Validation test for Nuitka build system

set -e

echo "=== G4F Nuitka Build Validation Test ==="
echo "Testing the new Nuitka-based build system"

# Test 1: Check if g4f_cli.py loads correctly
echo "Test 1: Verifying g4f_cli.py entry point..."
if python g4f_cli.py --help > /dev/null 2>&1; then
    echo "βœ“ g4f_cli.py works correctly"
else
    echo "βœ— g4f_cli.py failed"
    exit 1
fi

# Test 2: Check if Nuitka is available
echo "Test 2: Verifying Nuitka installation..."
if python -m nuitka --version > /dev/null 2>&1; then
    echo "βœ“ Nuitka is installed and working"
else
    echo "βœ— Nuitka is not available"
    exit 1
fi

# Test 3: Check if build script exists and is executable
echo "Test 3: Verifying build script..."
if [[ -x "scripts/build-nuitka.sh" ]]; then
    echo "βœ“ Build script is executable"
else
    echo "βœ— Build script is missing or not executable"
    exit 1
fi

# Test 4: Check if workflow includes Nuitka
echo "Test 4: Verifying GitHub Actions workflow..."
if grep -q "nuitka" .github/workflows/build-packages.yml; then
    echo "βœ“ Workflow uses Nuitka"
else
    echo "βœ— Workflow doesn't use Nuitka"
    exit 1
fi

# Test 5: Verify architecture support in workflow
echo "Test 5: Verifying architecture matrix in workflow..."
if grep -q "matrix:" .github/workflows/build-packages.yml && grep -q "architecture:" .github/workflows/build-packages.yml; then
    echo "βœ“ Architecture matrix is present"
else
    echo "βœ— Architecture matrix is missing"
    exit 1
fi

echo "=== All Tests Passed! ==="
echo "The Nuitka build system is properly configured."
echo ""
echo "Next steps:"
echo "1. Test the build in CI environment"
echo "2. Verify executable quality and performance"
echo "3. Consider adding ARM64 Linux builds with dedicated runners"