Merged
Conversation
Migrate all CI/CD from Azure DevOps Pipelines to GitHub Actions:
- Add composite action .github/actions/setup-cmake for cross-platform CMake install
- Add reusable workflows for each build target:
- build-android.yml (Ubuntu/macOS, JSC/V8)
- build-ios.yml (deployment target parameterized)
- build-linux.yml (Clang/GCC, JSC, sanitizers)
- build-macos.yml (Xcode/Ninja, sanitizers)
- build-uwp.yml (x64/arm64, direct/JSI)
- build-win32.yml (D3D11/D3D12, direct/JSI/V8, sanitizers)
- build-win32-shader.yml (precompiled shader test)
- test-install-{ios,linux,macos,win32}.yml
- Add ci.yml orchestrating all 24 build jobs
- Add nightly.yml with cron schedule (weekdays 23:00 UTC)
- Remove azure-pipelines.yml, nightly.yml, and .github/jobs/
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore nightly.yml (Azure Pipelines) and remove the GitHub Actions nightly workflow. Only the CI pipeline is migrated to GitHub Actions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Prevents artifact name collisions between regular and sanitizer builds by appending '-sanitizer' to artifact names when enable-sanitizers is true. Affects linux, macos, and win32 workflows. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- actions/checkout@v4 -> v5 - actions/upload-artifact@v4 -> v5 - actions/setup-java@v4 -> v5 All now use Node.js 24 runtime. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Migrates the repository’s CI matrix from Azure DevOps Pipelines to GitHub Actions by introducing a shared CMake setup composite action, reusable per-target build workflows, and a single orchestrating ci.yml workflow.
Changes:
- Added composite action for cross-platform CMake/Ninja setup and standardized toolchain versions.
- Added reusable build/test workflows for macOS, iOS, Linux, Android, Win32, UWP, plus install validation workflows.
- Added
ci.ymlto orchestrate the full job matrix and removed the legacy Azure Pipelines CI templates/config.
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
azure-pipelines.yml |
Removes the legacy Azure DevOps CI entrypoint previously orchestrating the job matrix. |
.github/actions/setup-cmake/action.yml |
Adds a composite action to install a pinned CMake version (and Ninja on macOS/Linux). |
.github/workflows/ci.yml |
New top-level workflow orchestrating the full CI matrix via reusable workflows. |
.github/workflows/build-android.yml |
Reusable workflow to build Android Playground for JSC/V8 across Ubuntu/macOS. |
.github/workflows/build-ios.yml |
Reusable workflow to generate and build iOS Playground with a parameterized deployment target. |
.github/workflows/build-linux.yml |
Reusable workflow to build and run validation/unit tests on Linux (compiler + JS engine param). |
.github/workflows/build-macos.yml |
Reusable workflow to build and run macOS unit tests (Xcode/Ninja + sanitizer param). |
.github/workflows/build-uwp.yml |
Reusable workflow to generate/build UWP solutions (x64/arm64, direct/JSI). |
.github/workflows/build-win32.yml |
Reusable workflow to generate/build/test Win32 across NAPI modes and D3D11/D3D12. |
.github/workflows/build-win32-shader.yml |
Reusable workflow to build/run the PrecompiledShaderTest on Win32. |
.github/workflows/test-install-ios.yml |
Reusable workflow to validate iOS install packaging (configure/build/install). |
.github/workflows/test-install-linux.yml |
Reusable workflow to validate Linux install packaging (configure/build/install). |
.github/workflows/test-install-macos.yml |
Reusable workflow to validate macOS install packaging (configure/build/install). |
.github/workflows/test-install-win32.yml |
Reusable workflow to validate Win32 install packaging, including building the Install/Test project. |
.github/jobs/* (removed) |
Removes Azure Pipelines job templates superseded by GitHub Actions reusable workflows. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
v5 still defaults to Node.js 20. v6 is the first version that uses Node.js 24 runtime by default. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use '--config RelWithDebInfo' (space-separated) instead of '--config=RelWithDebInfo' for consistency with other workflows. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Use jwlawson/actions-setup-cmake@v2 for cross-platform CMake version selection - Remove .github/actions/setup-cmake/ custom composite action - Add ninja-build to Linux apt-get installs - Add conditional brew install ninja for macOS Ninja generator builds Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ninja is preinstalled on GitHub macOS runners. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bghgary
approved these changes
Apr 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrate all CI/CD from Azure DevOps Pipelines to GitHub Actions:
NOTE: I've kept nightly on AzurePipelines because of BJS PR build artifacts.