Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 29 additions & 15 deletions .github/workflows/build-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,20 @@ jobs:
development_build: ${{ inputs.development_build || github.event.inputs.development_build || false }}
clean_build: ${{ inputs.clean_build || github.event.inputs.clean_build || false }}

windows-arm64ec:
uses: ./.github/workflows/build-windows-arm64ec.yml
secrets: inherit
with:
sdk_url: ${{ inputs.sdk_url || github.event.inputs.sdk_url }}
version: ${{ inputs.version || github.event.inputs.version }}
webbrowser_version: ${{ inputs.webbrowser_version || github.event.inputs.webbrowser_version }}
development_build: ${{ inputs.development_build || github.event.inputs.development_build || false }}
clean_build: ${{ inputs.clean_build || github.event.inputs.clean_build || false }}
create_installer: ${{ inputs.create_installer || github.event_name == 'pull_request' }}

summary:
name: "📊 Build Summary"
needs: [windows, macos-x64, macos-arm64, linux-x64, linux-arm64]
needs: [windows, windows-arm64ec, macos-x64, macos-arm64, linux-x64, linux-arm64]
if: always()
runs-on: ubuntu-latest
steps:
Expand All @@ -129,25 +140,26 @@ jobs:
echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

# Job status table
echo "## 📋 Build Status" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Platform | Status |" >> $GITHUB_STEP_SUMMARY
echo "|----------|--------|" >> $GITHUB_STEP_SUMMARY
echo "| 🪟 Windows x64 | ${{ needs.windows.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| 🪟 Windows ARM64EC | ${{ needs.windows-arm64ec.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| 🍎 macOS x64 | ${{ needs.macos-x64.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| 🍎 macOS ARM64 | ${{ needs.macos-arm64.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| 🐧 Linux x64 | ${{ needs.linux-x64.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| 🐧 Linux ARM64 | ${{ needs.linux-arm64.result }} |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

# List all artifacts
echo "## 📦 Generated Artifacts" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

if [ -d "artifacts" ]; then
find artifacts -type f \( -name "*.zip" -o -name "*.exe" -o -name "*.tar.gz" -o -name "*.deb" -o -name "*.rpm" -o -name "*.dmg" \) | while read file; do
size=$(du -h "$file" | cut -f1)
Expand All @@ -157,15 +169,15 @@ jobs:
else
echo "⚠️ No artifacts directory found" >> $GITHUB_STEP_SUMMARY
fi

echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

# Include individual platform summaries if available
echo "## 📝 Platform Details" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

for summary in artifacts/*/BUILD-SUMMARY.md; do
if [ -f "$summary" ]; then
platform=$(dirname "$summary" | xargs basename)
Expand All @@ -180,7 +192,7 @@ jobs:
echo "" >> $GITHUB_STEP_SUMMARY
fi
done

echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**🎉 Build completed!**" >> $GITHUB_STEP_SUMMARY
Expand All @@ -192,17 +204,19 @@ jobs:
run: |
echo "Checking build results..."
if [[ "${{ needs.windows.result }}" != "success" ]] || \
[[ "${{ needs.windows-arm64ec.result }}" != "success" ]] || \
[[ "${{ needs.macos-x64.result }}" != "success" ]] || \
[[ "${{ needs.macos-arm64.result }}" != "success" ]] || \
[[ "${{ needs.linux-x64.result }}" != "success" ]] || \
[[ "${{ needs.linux-arm64.result }}" != "success" ]]; then
echo "⚠️ One or more builds failed or were skipped"
echo "Windows: ${{ needs.windows.result }}"
echo "macOS x64: ${{ needs.macos-x64.result }}"
echo "macOS ARM64: ${{ needs.macos-arm64.result }}"
echo "Linux x64: ${{ needs.linux-x64.result }}"
echo "Linux ARM64: ${{ needs.linux-arm64.result }}"
exit 1
echo "⚠️ One or more builds failed or were skipped"
echo "Windows: ${{ needs.windows.result }}"
echo "Windows ARM64EC: ${{ needs.windows-arm64ec.result }}"
echo "macOS x64: ${{ needs.macos-x64.result }}"
echo "macOS ARM64: ${{ needs.macos-arm64.result }}"
echo "Linux x64: ${{ needs.linux-x64.result }}"
echo "Linux ARM64: ${{ needs.linux-arm64.result }}"
exit 1
else
echo "✅ All builds succeeded!"
fi
18 changes: 9 additions & 9 deletions .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -336,20 +336,20 @@ jobs:
if [ -f "build/CMakeCache.txt" ]; then
echo "CMake cache found, checking if reconfiguration needed..."
cacheValid=true

# Check if SDK root changed
cachedSdkRoot=$(grep "ULTRALIGHT_SDK_ROOT:.*=" build/CMakeCache.txt | sed 's/.*=//' || true)
if [ "$cachedSdkRoot" != "$ULTRALIGHT_SDK_ROOT" ]; then
echo "SDK root changed, reconfiguration needed"
cacheValid=false
fi

if [ "$cacheValid" = "true" ]; then
echo "✅ CMake cache is valid, skipping reconfiguration (saves ~30-60 seconds)"
exit 0
fi
fi

cmake --version
echo "Configuring with ULTRALIGHT_SDK_ROOT=$ULTRALIGHT_SDK_ROOT"
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DULTRALIGHT_SDK_ROOT="$ULTRALIGHT_SDK_ROOT" -DBUILD_TESTING=OFF -DAUTO_INSTALL_CURL=ON -DWEBBROWSER_VERSION="$WEBBROWSER_VERSION"
Expand Down Expand Up @@ -417,16 +417,16 @@ jobs:
run: |
set -euo pipefail
echo "🚀 Generating comprehensive build summary..."

# Get SDK version
sdkVersion="${ULTRALIGHT_VERSION:-Unknown}"
if [ -f "build/ultralight_sdk_version.txt" ]; then
sdkVersion=$(cat "build/ultralight_sdk_version.txt" | tr -d '[:space:]')
fi

# Make script executable
chmod +x scripts/generate-build-summary.sh

# Run the build summary script
bash scripts/generate-build-summary.sh \
"build" \
Expand All @@ -436,7 +436,7 @@ jobs:
"${{ github.sha }}" \
"$sdkVersion" \
"BUILD-SUMMARY.md"

# Create JSON metadata file
cat > build/BUILD-METADATA.json << EOF
{
Expand All @@ -452,7 +452,7 @@ jobs:
"runNumber": "${{ github.run_number }}"
}
EOF

echo "✅ Build summary and metadata generated successfully"

- name: 8.1 Display Build Summary
Expand Down Expand Up @@ -563,7 +563,7 @@ jobs:
else
echo "⚠️ BUILD-SUMMARY.md not found, skipping job summary"
fi

# Show cache statistics
echo ""
echo "📊 Cache Statistics:"
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -386,20 +386,20 @@ jobs:
if [ -f "build/CMakeCache.txt" ]; then
echo "CMake cache found, checking if reconfiguration needed..."
cacheValid=true

# Check if SDK root changed
cachedSdkRoot=$(grep "ULTRALIGHT_SDK_ROOT:.*=" build/CMakeCache.txt | sed 's/.*=//' || true)
if [ "$cachedSdkRoot" != "$ULTRALIGHT_SDK_ROOT" ]; then
echo "SDK root changed, reconfiguration needed"
cacheValid=false
fi

if [ "$cacheValid" = "true" ]; then
echo "✅ CMake cache is valid, skipping reconfiguration (saves ~30-60 seconds)"
exit 0
fi
fi

cmake --version
echo "Configuring with ULTRALIGHT_SDK_ROOT=$ULTRALIGHT_SDK_ROOT"
cmake -S . -B build -DULTRALIGHT_SDK_ROOT="$ULTRALIGHT_SDK_ROOT" -DBUILD_TESTING=OFF -DAUTO_INSTALL_CURL=ON -DWEBBROWSER_VERSION="$WEBBROWSER_VERSION"
Expand Down Expand Up @@ -518,16 +518,16 @@ jobs:
run: |
set -euo pipefail
echo "🚀 Generating comprehensive build summary..."

# Get SDK version
sdkVersion="${ULTRALIGHT_VERSION:-Unknown}"
if [ -f "build/ultralight_sdk_version.txt" ]; then
sdkVersion=$(cat "build/ultralight_sdk_version.txt" | tr -d '[:space:]')
fi

# Make script executable
chmod +x scripts/generate-build-summary.sh

# Run the build summary script
bash scripts/generate-build-summary.sh \
"build" \
Expand All @@ -537,7 +537,7 @@ jobs:
"${{ github.sha }}" \
"$sdkVersion" \
"BUILD-SUMMARY.md"

# Create JSON metadata file
cat > build/BUILD-METADATA.json << EOF
{
Expand All @@ -553,7 +553,7 @@ jobs:
"runNumber": "${{ github.run_number }}"
}
EOF

echo "✅ Build summary and metadata generated successfully"

- name: 7.1 Display Build Summary
Expand Down Expand Up @@ -643,7 +643,7 @@ jobs:
else
echo "⚠️ BUILD-SUMMARY.md not found, skipping job summary"
fi

# Show cache statistics
echo ""
echo "📊 Cache Statistics:"
Expand Down
Loading
Loading