|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
echo "=== G4F Nuitka Build Validation Test ===" |
|
|
echo "Testing the new Nuitka-based build system" |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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" |