https://groups.google.com/a/chromium.org/g/chromium-dev/c/v-WOvWUtOpg [logo_group]Groups Conversations All groups and messages [Search conversations][ ] Send feedback to Google Help Training # Sign in Groups Chromium-dev Conversations About Privacy * Terms Groups keyboard shortcuts have been updated Dismiss See shortcuts PSA: Chromium's build system is switching from Ninja to Siso for external developers 11,508 views Skip to first unread message Junji Watanabe's profile photo Junji Watanabe unread, Jun 16, 2025, 5:04:45 AM (6 days ago) Jun 16 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to chromi...@chromium.org, bu...@chromium.org Hi everyone, This PSA is for all external Chromium developers regarding an upcoming change to the Chromium build system. What's changing? Chromium's build system is switching from Ninja to Siso . This migration has already been completed for developers and CI/CQ within Google, and we are now extending it to our external contributors. Siso is developed by the Chrome Build Infra Team at Google as a drop-in replacement for Ninja to support remote execution natively. What do you need to do? Just keep building Chromium with autoninja. autoninja will automatically use Siso after you run gn clean the next time. How to opt out? If you encounter problems with Siso, you can switch back by setting use_siso=false in your args.gn. About Ninja/Reclient/GN * GN will stay the same as before. * Reclient will be removed from Chromium at the end of September. * Ninja will be unsupported after the end of September. Please prepare to switch to Siso before the deadline. Questions or Issues? If you have any questions or run into any problems with this change, please don't hesitate to reach out to us: * Slack: #build * Chromium Issue Tracker: File a Siso bug. * Email: bu...@chromium.org Thanks, Junji - on behalf of the Chrome Build Infra Team Dirk Pranke's profile photo Dirk Pranke unread, Jun 16, 2025, 11:39:02 AM (5 days ago) Jun 16 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to Junji Watanabe, chromi...@chromium.org, bu...@chromium.org Hi Junji, Presumably GN is still generating .ninja files that work with Ninja, so what are the implications of this for people that aren't using remote execution to build? Are we going to be making changes that aren't compatible with Ninja? Or is this more of a support thing, in that you only want to support one build tool? Also, does Siso support building with other RBE backends? -- Dirk -- You received this message because you are subscribed to the Google Groups "build" group. To unsubscribe from this group and stop receiving emails from it, send an email to build+un...@chromium.org. To view this discussion visit https://groups.google.com/a/ chromium.org/d/msgid/build/ CAPi%2BNeWH9%3D%3DF4zncWXUpN%2B_X9QPrXd1_3RZ8exk9p%3D%3D1mADWKg%40mail.gmail.com . Junji Watanabe's profile photo Junji Watanabe unread, Jun 17, 2025, 5:22:04 AM (5 days ago) Jun 17 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to Dirk Pranke, chromi...@chromium.org, bu...@chromium.org Hi Dirk, Thank you for your questions. Let me clarify. Regarding your first question, there are a few reasons for moving away from Ninja: Maintenance Cost: Currently, we have limited testing for Ninja and Reclient builds on our CI builders. While we are still addressing and fixing any issues that arise, our goal is to discontinue support for Ninja after the upcoming deadline. Build Improvements: We're planning to improve our build processes by integrating GN and Siso more closely. This includes features like mtime-less builds and more efficient build graph serialization. It's difficult to predict how challenging it will be to maintain compatibility with Ninja as we implement these improvements, and it's possible that Ninja builds may eventually stop working. So, we encourage switching to Ninja soon. If you encounter any workflow issues with Siso, please provide feedback. Regarding your question about Siso's support for other RBE backends, Siso is designed to send Remote Execution API (REAPI) requests to a custom API address. I am currently in contact with various remote build service providers to confirm full compatibility with Siso's REAPI support. Thank you, Junji Raphael Kubo da Costa's profile photo Raphael Kubo da Costa unread, Jun 17, 2025, 11:08:44 AM (4 days ago) Jun 17 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to jw...@google.com, chromi...@chromium.org, bu...@chromium.org, chromium-...@chromium.org +chromium-packagers Hey Junji, Given the "Ninja builds may eventually stop working" bit, can you clarify how this impacts downstreams like Linux distros that build Chromium from the published tarballs, or embedders like Electron, CEF, perhaps even Node due to V8? Specifically, I'm wondering: * Will there be releases like Ninja does? * If not, I'm guessing everyone will be expected to fetch and build their own Siso copy? * Are Siso versions supposed to be pinned to specific Chromium releases like GN? -- -- Chromium Developers mailing list: chromi...@chromium.org View archives, change email options, or unsubscribe: http://groups.google.com/a/chromium.org/group/chromium-dev --- You received this message because you are subscribed to the Google Groups "Chromium-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org. To view this discussion visit https://groups.google.com/a/ chromium.org/d/msgid/chromium-dev/ CAPi%2BNeUgSkAhywyWeCm6CpviNQeCK-8y7nJAW5HwVOjKNTxHLA%40mail.gmail.com . Raphael Kubo da Costa's profile photo Raphael Kubo da Costa unread, Jun 17, 2025, 11:08:46 AM (4 days ago) Jun 17 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to jw...@google.com, chromi...@chromium.org, bu...@chromium.org, chromium-...@chromium.org +chromium-packagers Hey Junji, Given the "Ninja builds may eventually stop working" bit, can you clarify how this impacts downstreams like Linux distros that build Chromium from the published tarballs, or embedders like Electron, CEF, perhaps even Node due to V8? Specifically, I'm wondering: * Will there be releases like Ninja does? * If not, I'm guessing everyone will be expected to fetch and build their own Siso copy? * Are Siso versions supposed to be pinned to specific Chromium releases like GN? On 6/17/25 11:17, 'Junji Watanabe' via Chromium-dev wrote: -- -- Chromium Developers mailing list: chromi...@chromium.org View archives, change email options, or unsubscribe: http://groups.google.com/a/chromium.org/group/chromium-dev --- You received this message because you are subscribed to the Google Groups "Chromium-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org. To view this discussion visit https://groups.google.com/a/ chromium.org/d/msgid/chromium-dev/ CAPi%2BNeUgSkAhywyWeCm6CpviNQeCK-8y7nJAW5HwVOjKNTxHLA%40mail.gmail.com . Liviu Laslau's profile photo Liviu Laslau unread, Jun 18, 2025, 9:40:31 AM (3 days ago) Jun 18 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to Chromium-dev, Raphael Kubo da Costa, chromi...@chromium.org, bu...@chromium.org, chromium-...@chromium.org, jw...@google.com In simple terms, please, will Siso work exactly the same for local builds under win/mac ? And also ccache support will stay ? Junji Watanabe's profile photo Junji Watanabe unread, Jun 18, 2025, 9:00:06 PM (3 days ago) Jun 18 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to Liviu Laslau, Chromium-dev, Raphael Kubo da Costa, bu...@chromium.org, chromium-...@chromium.org Yes, Siso can do local builds without remote execution on Windows and Mac, too. Regarding ccache, there should be no difference. Please let us know if you encounter any issue. Junji Watanabe's profile photo Junji Watanabe unread, Jun 18, 2025, 9:36:07 PM (3 days ago) Jun 18 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to Raphael Kubo da Costa, bu...@chromium.org, chromium-...@chromium.org (bcc chromium-dev@) Let me fork the thread since I got responses from different people. Chromium for Linux distros: How do they build Chromium now? They are supposed to use the GN/Ninja binaries fetched via DEPS. Siso also should be fetched via DEPS, as well. Electron: I got a message from Electron, and am discussing it with them. CEF: Looking at the repo, there are GN config files, Bazel files, CMake files. So, it's not clear how they build the Chromium part. Does anyone know who I should notify the PSA? Node: I'm also not familiar with how the official Node releases are built. Although there are GN configs, they don't seem to be used for Node official builds. I guess they still use GYP presumably with Make? Note that V8 has migrated to Siso already. Thank you, Junji Raphael Kubo da Costa's profile photo Raphael Kubo da Costa unread, Jun 19, 2025, 3:53:03 AM (3 days ago) Jun 19 Reply to author Sign in to reply to author Forward Sign in to forward Delete You do not have permission to delete messages in this group Copy link Report message Show original message Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message to jw...@google.com, bu...@chromium.org, chromium-...@chromium.org On 6/19/25 03:31, 'Junji Watanabe' via Chromium-dev wrote: (bcc chromium-dev@) Let me fork the thread since I got responses from different people. Chromium for Linux distros: How do they build Chromium now? They are supposed to use the GN/ Ninja binaries fetched via DEPS. Siso also should be fetched via DEPS, as well. Distros usually download the tarballs we publish via https:// ci.chromium.org/ui/p/infra/builders/cron/publish_tarball, but generally speaking pulling pre-built binaries to use as part of the build is either frowned upon or simply not allowed (and I believe this applies to other parties besides distros). We bundle GN's sources into the tarball for this reason, and distros (and possibly others) use Ninja as provided by the distribution rather than pulling a binary via DEPS (hence my question about releases, pinned versions and whether one would be expected to build Siso, which would then require a Go toolchain before even beginning to build Chromium). Reply all Reply to author Forward 0 new messages Search Clear search Close search Google apps Main menu