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
--
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.
--
--
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.
--
--
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.
(bcc chromium-dev@)Let me fork the thread since I got responses from different people.Chromium for Linux distros: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.
On Jun 18, 2025, at 21:36, 'Junji Watanabe' via chromium-packagers <chromium-...@chromium.org> wrote:
(bcc chromium-dev@)Let me fork the thread since I got responses from different people.Chromium for Linux distros: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?
You received this message because you are subscribed to the Google Groups "chromium-packagers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-packag...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-packagers/CAPi%2BNeV9YbSYv2-7u3D_jkU-P%2ByyuO8VEkZJb3X8BKqQJVbhOA%40mail.gmail.com.
On Jun 18, 2025, at 21:36, 'Junji Watanabe' via chromium-packagers <chromium-...@chromium.org> wrote:(bcc chromium-dev@)Let me fork the thread since I got responses from different people.Chromium for Linux distros: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?We (CEF builders) can download Chromium in the “usual way” (e.g. bootstrap with depot_tools, run “gclient sync” to download src) or by downloading source tarballs. In both cases platform/architecture-specific binaries are downloaded with “gclient sync” (based on DEPS) and builds are performed using autoninja. We support build acceleration with [s]ccache currently and were looking at adding reclient support recently (paused now, waiting on the siso migration).
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).
--
You received this message because you are subscribed to the Google Groups "chromium-packagers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-packag...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-packagers/402829e8-e152-4eec-b22d-712bf2753dd1%40gentoo.org.
Cool stuff! A few questions:1. Are there prebuilt binaries somewhere (CIPD) or should we build from source?
2. It seems a `build/config/siso/main.star` is needed to `siso ninja`. What is the minimal main.star that makes `siso ninja` a drop in replacement for `ninja` in an existing (CMake-based) project (that's not Chromium)?
3. reclient has `RBE_remote_headers=x-buildbuddy-api-key=mykey`, does siso respect that or is there another way to do header-based auth?
Cheers,Tor ArneOn Thursday, June 19, 2025 at 9:53:03 AM UTC+2 Raphael Kubo da Costa wrote:On 6/19/25 03:31, 'Junji Watanabe' via Chromium-dev wrote:
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).
--
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/a81ff7f8-2ab7-4212-986b-ddae4dc34cbdn%40chromium.org.
--
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/3913bfa1-6fd9-46aa-969b-ea945d9459bbn%40chromium.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