Skip to content

Refactor the multi-platform CI/CD workflow#49

Merged
ovsky merged 11 commits into
devfrom
feature/ci-cd/refactor-ci-cd-workflow
Dec 3, 2025
Merged

Refactor the multi-platform CI/CD workflow#49
ovsky merged 11 commits into
devfrom
feature/ci-cd/refactor-ci-cd-workflow

Conversation

@ovsky
Copy link
Copy Markdown
Owner

@ovsky ovsky commented Dec 3, 2025

This pull request introduces a comprehensive build summary reporting system across all major platform build workflows (Windows, macOS, Linux). The changes ensure that each build job generates detailed summary and metadata files, uploads them as artifacts, and adds a readable summary to the GitHub Actions job output. Additionally, Windows installer packaging is improved with correct Start Menu shortcuts.

Build Summary and Metadata Generation:

  • Added steps in build-windows.yml, build-macos.yml, and build-linux.yml to generate a BUILD-SUMMARY.md and BUILD-METADATA.json after successful builds, capturing platform, version, commit, SDK version, and other metadata. [1] [2] [3]
  • Each workflow now displays the build summary in job output and uploads both summary and metadata files as artifacts for downstream use. [1] [2] [3] [4] [5]

Aggregate Build Status and Summary:

  • Introduced a new summary job in build-all.yml that aggregates results from all platform builds, generates a comprehensive summary table, lists all produced artifacts, and checks overall build success.

Workflow Output and Cleanup Improvements:

  • Added steps to append the build summary to the GitHub Actions job summary for easier review, and reorganized/corrected step numbering for clarity in Linux and macOS workflows. [1] [2]

Windows Installer Packaging:

  • Updated CMakeLists.txt to ensure Start Menu shortcuts in NSIS installer point to the correct executable, improving user experience for Windows installations.
    This pull request introduces a comprehensive build summary and metadata reporting system across all platform build workflows (Windows, macOS, Linux). The changes standardize the generation, display, and uploading of detailed build summaries and metadata files, and improve visibility into build results at both the job and workflow levels. Additionally, the Windows installer configuration is enhanced to create proper Start Menu shortcuts.

Build Summary & Metadata Reporting:

  • Added steps in build-windows.yml, build-macos.yml, and build-linux.yml to generate a comprehensive build summary (BUILD-SUMMARY.md) and metadata file (BUILD-METADATA.json) after each platform build, using platform-specific scripts. [1] [2] [3]
  • Displayed the contents of the build summary in the job logs for better visibility and troubleshooting. [1] [2] [3]
  • Uploaded the build summary and metadata files as artifacts alongside the build packages for each platform. [1] [2] [3] [4] [5]

Workflow-Level Summary & Status:

  • Introduced a new summary job in build-all.yml that runs after all platform builds, aggregates build results, lists generated artifacts, and includes platform-specific summaries in the GitHub Actions workflow summary. It also checks for overall build success and fails the workflow if any platform build fails.

Windows Installer Improvements:

  • Updated CMakeLists.txt to ensure Windows NSIS installers create Start Menu shortcuts pointing to the correct executable, improving user experience for Windows installations.

Job Output Enhancement:

  • Added steps in all platform workflows to append the build summary to the GitHub Actions job summary (GITHUB_STEP_SUMMARY), making build details easily accessible from the Actions UI. [1] [2] [3]

These changes provide more transparency, easier troubleshooting, and better documentation of build outputs for both developers and users.
This pull request introduces a comprehensive build summary and metadata reporting system across all major platform build workflows (Windows, macOS, Linux). It adds steps to generate, display, and upload detailed build summary reports and machine-readable metadata files, and ensures these are included in the job summary for easier CI visibility and traceability. Additionally, it improves installer configuration for Windows by ensuring Start Menu shortcuts are correctly set up.

Build Summary & Metadata Reporting:

  • Added steps in build-windows.yml, build-macos.yml, and build-linux.yml to generate a detailed BUILD-SUMMARY.md and a machine-readable BUILD-METADATA.json file after each successful build, using platform-specific scripts. [1] [2] [3]
  • Uploaded the generated summary and metadata files as build artifacts for each platform, ensuring they are available for downstream jobs and external consumption. [1] [2] [3] [4] [5]
  • Displayed the build summary directly in the workflow logs and appended it to the GitHub Actions job summary for improved visibility and traceability. [1] [2] [3] [4]

Multi-Platform Build Summary Aggregation:

  • Introduced a new summary job in build-all.yml that collects build summaries and artifacts from all platform jobs, generates an aggregated summary table, lists artifacts, and checks for overall build success, surfacing results in the workflow summary.

Windows Installer Improvements:

  • Updated CMakeLists.txt to ensure Start Menu shortcuts point to the correct executable and are properly created/deleted during install/uninstall, improving user experience for Windows installations.

ovsky added 11 commits December 3, 2025 13:24
Configures NSIS installer to create and remove Start Menu shortcuts for Ultralight Web Browser on Windows. Ensures shortcuts point to the correct executable after installation.
Introduces PowerShell and Bash scripts to generate a comprehensive markdown build summary for Ultralight WebBrowser CI/CD workflows. The scripts collect build metadata, package details, checksums, artifact verification, installation instructions, and build statistics for Windows, Linux, and macOS platforms.
Introduces steps to generate a comprehensive build summary and metadata JSON during the Windows build workflow. The summary and metadata files are displayed, uploaded as artifacts, and appended to the GitHub Actions job summary for improved traceability and reporting.
Introduces steps to generate a comprehensive build summary and metadata JSON during the macOS build workflow. The summary is displayed, uploaded as an artifact, and appended to the GitHub Actions job summary for improved build traceability and reporting.
Introduces steps to generate and display a comprehensive build summary and metadata JSON during the Linux build workflow. The summary and metadata files are now included in the uploaded artifacts and appended to the GitHub Actions job summary for improved traceability and reporting.
Introduces a new 'summary' job to the GitHub Actions workflow that aggregates build results, lists generated artifacts, and includes platform-specific summaries. The job also checks the overall build status and fails if any platform build did not succeed, improving visibility and reporting for multi-platform builds.
Introduces a comprehensive guide detailing recent improvements to the CI/CD pipeline for the Ultralight WebBrowser project, including build summaries, metadata files, installer fixes, and multi-platform dashboards.
Introduces multiple cache steps for CMake, SDK, APT, and compiler (ccache) to speed up GitHub Actions builds. Adds logic to skip CMake reconfiguration if cache is valid and displays cache statistics after build completion.
Introduces multiple cache steps for CMake build artifacts, SDK files, Homebrew, and compiler cache (ccache) to speed up GitHub Actions builds. Adds logic to skip CMake reconfiguration if cache is valid and displays cache statistics after build completion.
Introduces CMake build cache, SDK cache, and compiler cache (sccache) setup steps to the Windows GitHub Actions workflow. Adds logic to skip CMake reconfiguration if cache is valid and displays cache statistics after build, improving CI speed and resource usage.
@ovsky ovsky merged commit f668589 into dev Dec 3, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant