Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
258 commits
Select commit Hold shift + click to select a range
acc567a
Parse BRE worker digest from nsc upload output
basvandijk Jun 28, 2026
dd8e7fb
Potential fix for pull request finding
basvandijk Jun 28, 2026
765211b
Grant id-token: write so nsc can authenticate via GitHub OIDC
basvandijk Jun 28, 2026
41345a5
Revert id-token: write; Namespace runners already have a workspace id…
basvandijk Jun 28, 2026
d6a217a
Address review: least-privilege permissions and safe inputs reference
basvandijk Jun 28, 2026
e94973f
wip
basvandijk Jun 28, 2026
464a535
Switch to namespace-profile-default
basvandijk Jun 28, 2026
a4d7525
Pass BRE test target patterns as a quoted array
basvandijk Jun 28, 2026
7b3e520
Make update-image-references checkout robust on push/dispatch
basvandijk Jun 28, 2026
44aa0e4
Merge remote-tracking branch 'origin' into basvandijk/namespace-bazel…
basvandijk Jun 29, 2026
9c9e323
trigger container build
basvandijk Jun 29, 2026
34c3300
grant ns runner all baseimage permissions
basvandijk Jun 29, 2026
dc11e43
Updating container images to tag: d395e4504a1bf0cf387cbf17335b6a6cf47…
Jun 29, 2026
9c34c77
run bazel inside the container
basvandijk Jun 29, 2026
5f9d3e8
install nsc in the container
basvandijk Jun 29, 2026
a827076
fix
basvandijk Jun 29, 2026
db404e1
Updating container images to tag: a139b8d37688eb2a5e1bc4a85b730a3ea64…
Jun 29, 2026
ee81d00
reference ic-build image via output
basvandijk Jun 29, 2026
b8423ea
trigger
basvandijk Jun 29, 2026
2ddf870
Updating container images to tag: a139b8d37688eb2a5e1bc4a85b730a3ea64…
Jun 29, 2026
dd831d4
bring nsc into scope
basvandijk Jun 29, 2026
fc4d909
debug
basvandijk Jun 29, 2026
d3c7adf
Install nsc to /bin
basvandijk Jun 29, 2026
7758e4b
fix
basvandijk Jun 29, 2026
d182040
Updating container images to tag: 7838da7e90af323eb5aeb8463bc0346ef73…
Jun 29, 2026
d102776
fix
basvandijk Jun 29, 2026
e2c51dd
Updating container images to tag: 7a908e1407f45149e59440b14029c6b9937…
Jun 29, 2026
6b5be94
nsc auth exchange-github-token
basvandijk Jun 29, 2026
109e28d
permissions: id-token: write
basvandijk Jun 29, 2026
4fc49d1
use host's nsc auth
basvandijk Jun 29, 2026
cdab485
uses: namespacelabs/nscloud-setup@v0
basvandijk Jun 29, 2026
5445b3f
Run skylib copy actions locally under Bazel remote execution
basvandijk Jun 29, 2026
10dab84
nsc is not needed in the container since we use namespacelabs/nsclou…
basvandijk Jun 30, 2026
8767ef3
Run non-remote-executable spawns locally under Namespace BRE
basvandijk Jun 30, 2026
b38fdf0
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jun 30, 2026
8a70e66
Updating container images to tag: d395e4504a1bf0cf387cbf17335b6a6cf47…
Jun 30, 2026
3c155aa
Run local-only genrules locally under Namespace BRE
basvandijk Jun 30, 2026
6d3eee7
Keep BRE worker src dynamic, immune to the update-image-references sed
basvandijk Jun 30, 2026
7cde29f
Pass C++ .d files in memory under Namespace BRE
basvandijk Jun 30, 2026
39242c0
Run Namespace BRE job in a privileged container for ic-os podman builds
basvandijk Jun 30, 2026
2b0504f
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jun 30, 2026
f819061
trigger container rebuild
basvandijk Jun 30, 2026
1dac48a
Updating container images to tag: 22378bb2ad2621b518f4000afdb1ebbe793…
Jun 30, 2026
75e5bf8
fix(bazel): ship rust-lld's gcc-ld self-contained linker to Rustc act…
basvandijk Jun 30, 2026
521b674
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jun 30, 2026
c7f598d
ci(bre): drop obsolete --experimental_inmemory_dotd_files flag
basvandijk Jun 30, 2026
085bb0a
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jun 30, 2026
5439548
fix(bazel): keep rust-lld binary in sysroot for wasm canister links
basvandijk Jun 30, 2026
3ef6265
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jun 30, 2026
6c83df8
test(pocket-ic): split requires-network tests into arm64-darwin variants
basvandijk Jul 1, 2026
20bc0f4
test(pocket-ic): set crate_root for multi-source -darwin test variants
basvandijk Jul 1, 2026
c06dcdc
fix: build artifact_bundle locally to avoid dangling symlinks under BRE
basvandijk Jul 1, 2026
380255a
test: run permission-denied tests as an unprivileged user when root
basvandijk Jul 1, 2026
24982cf
--skip_incompatible_explicit_targets
basvandijk Jul 1, 2026
2801748
fix: compile test_utilities/privileges on macOS
basvandijk Jul 1, 2026
a99be41
test: run sns-cli permission-denied tests as unprivileged user when root
basvandijk Jul 1, 2026
ab1b797
Revert " --skip_incompatible_explicit_targets"
basvandijk Jul 1, 2026
861e217
Revert "test(pocket-ic): set crate_root for multi-source -darwin test…
basvandijk Jul 1, 2026
eef3df9
Revert "test(pocket-ic): split requires-network tests into arm64-darw…
basvandijk Jul 1, 2026
9d830fc
Skip pocket-ic:unix test_canister_http_in_live_mode on the BRE job
basvandijk Jul 1, 2026
f6db25c
test(driver): run libvirtd/QEMU/dnsmasq as nobody when the local back…
basvandijk Jul 1, 2026
3e115bb
ci: mitigate remote CAS blob eviction on the BRE job
basvandijk Jul 1, 2026
b1a9eff
test(driver): let nobody traverse to the libvirtd binary and working dir
basvandijk Jul 1, 2026
1794676
test(driver): run net-admin scripts directly (not via capsh) when root
basvandijk Jul 1, 2026
41f73bb
Revert "Skip pocket-ic:unix test_canister_http_in_live_mode on the BR…
basvandijk Jul 1, 2026
1351d03
disable //packages/pocket-ic:unix
basvandijk Jul 1, 2026
0a654ba
BRE -> RBE
basvandijk Jul 1, 2026
1d4ad17
--test_output=errors
basvandijk Jul 1, 2026
015a779
enable //packages/pocket-ic:unix again but disable test_canister_http…
basvandijk Jul 1, 2026
751728f
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 1, 2026
5d996b8
start binary search for the hanging //packages/pocket-ic:unix
basvandijk Jul 1, 2026
a4fe22c
more ignores
basvandijk Jul 1, 2026
20ebc34
more ignores
basvandijk Jul 1, 2026
16270df
one more ignore
basvandijk Jul 1, 2026
bf8d8e5
more ignores
basvandijk Jul 1, 2026
283f27e
run resume_killed_instance_strict
basvandijk Jul 1, 2026
213e33b
run resume_killed_instance
basvandijk Jul 1, 2026
a41bc5f
only ignore resume_killed_instance
basvandijk Jul 1, 2026
f02fc80
reduce diff
basvandijk Jul 1, 2026
6850827
experiment: net_admin
basvandijk Jul 1, 2026
1348098
Revert "experiment: net_admin"
basvandijk Jul 1, 2026
8f4f8d9
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 2, 2026
0694570
Unshare a self-owned netns when root lacks CAP_NET_ADMIN over the cur…
basvandijk Jul 2, 2026
ac4c025
test: run permission-denied tests as an unprivileged user when root
basvandijk Jul 1, 2026
f914787
fix: compile test_utilities/privileges on macOS
basvandijk Jul 1, 2026
0ff2873
test: run sns-cli permission-denied tests as unprivileged user when root
basvandijk Jul 1, 2026
75903f4
fix: address review comments in run_as_nobody_if_root
basvandijk Jul 2, 2026
39e8abf
Automatically fixing code for linting and formatting issues
Jul 2, 2026
071d0ee
docs: comment why run_as_nobody_if_root is needed at each call site
basvandijk Jul 2, 2026
e224f9f
feat: add #[as_nobody_when_root] attribute form of run_as_nobody_if_root
basvandijk Jul 2, 2026
ceaeddc
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 2, 2026
f073f6c
Merge branch 'basvandijk/run-permission-denied-tests-as-nobody' into …
basvandijk Jul 2, 2026
8f6d88a
fix: unwrap double-applied run_as_nobody_if_root after merge
basvandijk Jul 2, 2026
3856b8c
fix: shard zig cache per action under remote execution
basvandijk Jul 2, 2026
42e0d14
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 3, 2026
e9f93c4
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 3, 2026
e7a44cb
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 3, 2026
fb8d89d
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 3, 2026
5e37e0a
Refactor RBE workflow to build bazel args in a documented array
basvandijk Jul 3, 2026
6bcb0ba
Revert changes in Cargo.toml
basvandijk Jul 3, 2026
06f7220
Merge remote-tracking branch 'origin' into basvandijk/namespace-bazel…
basvandijk Jul 3, 2026
38afa08
try resume_killed_instance again
basvandijk Jul 3, 2026
7893858
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 3, 2026
0c41013
rm comments
basvandijk Jul 3, 2026
0bb6ad4
trigger image build
basvandijk Jul 3, 2026
d0f0132
refactor
basvandijk Jul 3, 2026
318c9e5
tweaks
basvandijk Jul 3, 2026
d6b9892
Updating container images to tag: 8daf75b044f16ab4395e9746071e3d09115…
Jul 3, 2026
2deda1c
Merge branch 'master' into basvandijk/namespace-bazel-remote-execution
basvandijk Jul 3, 2026
9839569
Merge branch 'master' into basvandijk/namespace-bazel-remote-execution
basvandijk Jul 6, 2026
73235a5
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 7, 2026
0e0a01a
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 7, 2026
7c4490e
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 7, 2026
b19fed5
Prefer sandboxed strategy for local fallback in RBE namespace test
basvandijk Jul 7, 2026
659209e
Don't run tests that require a network namespace remotely via RBE for…
basvandijk Jul 7, 2026
a08da84
bazel execution setup --enable_remote_asset_api
basvandijk Jul 8, 2026
3742999
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 8, 2026
ea4fd81
Temporarily skip local_system_tests
basvandijk Jul 8, 2026
2f99691
RBE: forward per-URL credentials to Namespace remote downloader
basvandijk Jul 8, 2026
9764e21
fix
basvandijk Jul 8, 2026
e23aa0c
RBE: use --experimental_remote_downloader_propagate_credentials
basvandijk Jul 8, 2026
5edfe3e
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 8, 2026
0bdb7db
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 8, 2026
d7c2898
have a step running no system-tests and one running only system-tests
basvandijk Jul 8, 2026
f1436a2
fix
basvandijk Jul 8, 2026
c911ba7
ci(rbe): store Bazel BEP and profile in Namespace Artifact Storage
basvandijk Jul 9, 2026
9dff17a
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 9, 2026
a38f55a
set a per step timeout to ensure the BEP file gets uploaded
basvandijk Jul 9, 2026
e4d33c1
trigger container rebuild
basvandijk Jul 9, 2026
42830f0
Updating container images to tag: abbba8fa906b3d98553d787112d7ce0041a…
Jul 9, 2026
91be156
Apply suggestion from @basvandijk
basvandijk Jul 9, 2026
c4b2c15
Merge branch 'master' into basvandijk/namespace-bazel-remote-execution
basvandijk Jul 9, 2026
607c2a0
Apply suggestion from @basvandijk
basvandijk Jul 10, 2026
75e1a2a
test: end-to-end deposit-from-CEX EIP-7702 sweep demo against a local…
gregorydemay Jul 10, 2026
22c883b
RBE tweaks based on EngFlow's Bazel Invocation Analyzer
basvandijk Jul 10, 2026
cf64ebe
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 10, 2026
ab84615
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 10, 2026
37f8bcd
trigger
basvandijk Jul 10, 2026
8c7dc46
Updating container images to tag: d6256361e7396874e20ee8297fb09b166a3…
Jul 10, 2026
b3e8a1a
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 10, 2026
55bc803
--config=flaky_retry
basvandijk Jul 10, 2026
317f89e
fix
basvandijk Jul 10, 2026
a6cab42
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 10, 2026
dca2194
trigger
basvandijk Jul 10, 2026
b2e3cb7
bump timeouts some more
basvandijk Jul 10, 2026
b357d46
Updating container images to tag: 90f50a9529f78a97ad0c37055d15a93cbf4…
Jul 10, 2026
b0d5b05
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 10, 2026
c184677
bump limits even more
basvandijk Jul 10, 2026
df56025
trigger container rebuild
basvandijk Jul 10, 2026
14fdca7
Updating container images to tag: 285e2d5f1b7bc3735765c70b70504aad04c…
Jul 10, 2026
a50befa
--jobs=15
basvandijk Jul 10, 2026
f0a8f94
Bazel build separately, just like in ci-main
basvandijk Jul 13, 2026
bc9bfe6
Use --build_tag_filters in build step
basvandijk Jul 13, 2026
80873b5
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 13, 2026
836160b
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 15, 2026
ebf6354
trigger container rebuild
basvandijk Jul 15, 2026
503f72a
--remote_default_exec_properties=namespace_action_isolation=sandboxed
basvandijk Jul 15, 2026
ef6eace
mv --remote_default_exec_properties=container-image=... to other --re…
basvandijk Jul 15, 2026
1f3fd99
Remove tags = ["no-remote-exec"] to benefit from Namespace's new sand…
basvandijk Jul 15, 2026
17ee3a3
Updating container images to tag: 19e9d2e4ce05cbdf61704b96509658e125b…
Jul 15, 2026
d4e27c7
Set exec_properties explicitly
basvandijk Jul 15, 2026
f98c9ee
fix: cpus has to be string
basvandijk Jul 15, 2026
84c8fc8
Set `exec_properties = {"cpu": "n"}` for all `tags = ["cpu:n"]`
basvandijk Jul 15, 2026
7ea1f48
rm `cpu:n`` tags since they conflict with `exec_properties = {"cpu": …
basvandijk Jul 15, 2026
397ece2
Merge branch 'master' into basvandijk/namespace-bazel-remote-execution
basvandijk Jul 16, 2026
1486a59
Try --jobs=64 again after the cpu reservation fixes by Namespace
basvandijk Jul 16, 2026
f8220bd
--jobs=120 for `bazel build`
basvandijk Jul 16, 2026
6747c8b
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 16, 2026
5295489
trigger
basvandijk Jul 16, 2026
a6d99b8
Do not run `@@+mainnet_icos_images+...//:guest-img` remotely
basvandijk Jul 16, 2026
46ecc2f
Lower --jobs again to get to a passing job
basvandijk Jul 16, 2026
e21b54d
Updating container images to tag: d82f82fd3da23633ea37dee630d0eff9814…
Jul 16, 2026
b08b8d0
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 16, 2026
696cf80
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 16, 2026
d31323c
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 17, 2026
4f485b0
chore: set namespace_requires_network exec property on requires-netwo…
basvandijk Jul 17, 2026
965bf16
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 17, 2026
ee953cf
fix //packages/pocket-ic:canister_snapshots on RBE
basvandijk Jul 17, 2026
0fce252
Only test //packages/pocket-ic:canister_snapshots for now on RBE
basvandijk Jul 17, 2026
6a76757
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 20, 2026
4cfe7db
Revert "Only test //packages/pocket-ic:canister_snapshots for now on …
basvandijk Jul 20, 2026
d9c0f81
fix(system-tests): keep local backend dnsmasq non-root under RBE sandbox
basvandijk Jul 20, 2026
f9357b9
fix(test-utils): make nobody temp base reachable under sandboxed RBE
basvandijk Jul 20, 2026
95ab262
fix(nns_delegation_manager): skip DNS resolver for literal API BN IPs
basvandijk Jul 21, 2026
501d107
fix(system-tests): tag local backend TAP with the driver's inner uid
basvandijk Jul 22, 2026
1223a2d
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 22, 2026
ab99512
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 22, 2026
74125d5
ci(rbe-namespace): upload failed and flaky system-test logs
basvandijk Jul 22, 2026
c08c6c7
fix(nns_delegation_manager): skip DNS resolver for literal API BN IPs
basvandijk Jul 21, 2026
eb4d0ce
fix(system-tests): cap unstuck_subnet_test per-VM memory on local bac…
basvandijk Jul 22, 2026
5fec32f
fix(system-tests): pin rent_subnet_test to the Farm backend
basvandijk Jul 22, 2026
d20e978
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 22, 2026
7b90228
fix: pass dummy nameserver
pierugo-dfinity Jul 22, 2026
8813a8d
fix: revert unused import
pierugo-dfinity Jul 22, 2026
3d11f5c
Automatically fixing code for linting and formatting issues
Jul 22, 2026
5b5262d
test(nns): remove the 32 filler subnets from rent_subnet_test
basvandijk Jul 22, 2026
b1c8053
Merge branch 'basvandijk/nns-delegation-skip-dns-for-literal-ip' into…
basvandijk Jul 22, 2026
fc571ac
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 22, 2026
ce0662f
Merge remote-tracking branch 'origin/bas/rent-subnet-test-no-filler-s…
basvandijk Jul 22, 2026
924a025
Apply suggestion from @basvandijk
basvandijk Jul 22, 2026
72df15b
Automatically fixing code for linting and formatting issues
Jul 22, 2026
85eb461
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 23, 2026
e26ba87
chore: unify the bazel test invocation steps back into a single step …
basvandijk Jul 23, 2026
a8da15a
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 23, 2026
ee41031
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 23, 2026
a7419ea
Switch to namespace-profile-rbe-driver-amd64-linux-16x32
basvandijk Jul 23, 2026
e702535
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 23, 2026
180c75b
remove comment
basvandijk Jul 23, 2026
3285792
First stab at integration RBE (in eval mode) into regular CI
basvandijk Jul 23, 2026
9c9ddc8
fix: infer-bazel-targets needs the checkout git with history
basvandijk Jul 23, 2026
c2a1c16
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 23, 2026
e21552b
Double --jobs for RBE
basvandijk Jul 23, 2026
cbd4c48
run infer-bazel-targets on namespace runner
basvandijk Jul 23, 2026
36db159
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 24, 2026
ad22bd8
Remove some unneeeded "namespace_requires_network": "true" exec_prope…
basvandijk Jul 24, 2026
d48b708
layout
basvandijk Jul 24, 2026
5fbb2b5
lower --jobs for bazel build from 128 to 96 to try to avoid queuing o…
basvandijk Jul 24, 2026
29bd6a9
Just go for --jobs=120 (15 workers * 8 actions each)
basvandijk Jul 24, 2026
2a0e8c6
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 25, 2026
c737b04
Also temporarily disable diff_only in ci-rbe-evaluation.yml
basvandijk Jul 25, 2026
1991461
--jobs=240
basvandijk Jul 25, 2026
87a2608
trigger
basvandijk Jul 25, 2026
a357cd4
feat(system-tests): write the JUnit XML report from the test driver
basvandijk Jul 26, 2026
0a65772
fix(system-tests): report skipped tasks as status="notrun" in the JUn…
basvandijk Jul 26, 2026
f716137
fix: don't mix up bazel-targets and bazel-rbe-targets
basvandijk Jul 26, 2026
eb4aca2
oversubscribe cpus for local system-tests
basvandijk Jul 26, 2026
c8460f1
fix: validate cpus and cpus_oversubscription_factor, clarify docstrings
basvandijk Jul 26, 2026
e86f88c
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 27, 2026
ef97445
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 27, 2026
c374339
trigger container build
basvandijk Jul 27, 2026
dd6dd5b
Updating container images to tag: d82f82fd3da23633ea37dee630d0eff9814…
Jul 27, 2026
5f4c444
use tee
basvandijk Jul 27, 2026
f87d0c2
remove `|| github.ref_name`
basvandijk Jul 27, 2026
2c9ff05
fix
basvandijk Jul 27, 2026
b143eb3
trigger container rebuild
basvandijk Jul 27, 2026
d64ef13
Updating container images to tag: d82f82fd3da23633ea37dee630d0eff9814…
Jul 27, 2026
cbabdf1
Merge branch 'master' into basvandijk/namespace-bazel-remote-execution
basvandijk Jul 27, 2026
cdd8bc2
Merge remote-tracking branch 'origin/master' into basvandijk/namespac…
basvandijk Jul 28, 2026
bdbbb19
trigger container rebuild
basvandijk Jul 28, 2026
7ea2f9d
Simplify rbe-worker-image job
basvandijk Jul 28, 2026
470eff0
simplify
basvandijk Jul 28, 2026
d9ba0ba
Updating container images to tag: d82f82fd3da23633ea37dee630d0eff9814…
Jul 28, 2026
7550fc9
fix
basvandijk Jul 28, 2026
83e2018
trigger
basvandijk Jul 28, 2026
fe7ad4f
Updating container images to tag: d82f82fd3da23633ea37dee630d0eff9814…
Jul 28, 2026
a98d704
fix bazel/hermetic_cc_toolchain_cache_dir.patch
basvandijk Jul 28, 2026
9460d94
fix
basvandijk Jul 28, 2026
d422ede
trigger
basvandijk Jul 28, 2026
c43ea6a
Updating container images to tag: d82f82fd3da23633ea37dee630d0eff9814…
Jul 28, 2026
6c41243
remove continue-on-error: true such that the workflow turns red when …
basvandijk Jul 29, 2026
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
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"image": "ghcr.io/dfinity/ic-dev@sha256:72798a5bed36f7174d2a318efe1996ed44d598c37f8cf3c909e6dec53cb73812",
"image": "ghcr.io/dfinity/ic-dev@sha256:2f98d344d708a1ae70938d5e777a1f141f7f2a9545687653f407a405eb1a27ea",
"remoteUser": "ubuntu",
"privileged": true,
"runArgs": [
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/api-bn-recovery-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on:
labels: dind-large
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host
--mount type=tmpfs,target="/home/buildifier/.local/share/containers"
Expand Down
84 changes: 84 additions & 0 deletions .github/workflows/bre-namespace-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: BRE Namespace Test

# Experimental: run `bazel test` on Namespace runners using Bazel Remote
# Execution (BRE). Actions execute on Namespace workers booted from a custom
# worker image (a mirror of ic-build) that is built, optimized and pinned by the
# `container-autobuild.yml` workflow.
#
# See: https://namespace.so/docs/bazel/execution

on:
workflow_dispatch:
inputs:
targets:
description: 'Bazel target patterns to test'
required: false
default: '//...'
type: string
pull_request:
types: [opened, synchronize, reopened, labeled]
push:
branches:
- 'dev-gh-*'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

permissions:
contents: read
id-token: write

Comment thread
basvandijk marked this conversation as resolved.
jobs:
bazel-test-bre:
name: Bazel Test (Namespace BRE)
runs-on: namespace-profile-amd64-linux-32x64
timeout-minutes: 120
# Opt-in while experimental: manual dispatch, pushes to dev-gh-* branches, or
# non-fork pull requests labeled 'CI_BRE'. Only on the public repo, where
# Namespace runners are configured (otherwise the job would get stuck). Fork
# PRs are excluded because this job runs on a privileged Namespace runner with
# pre-authenticated 'nsc' and must never execute untrusted PR code.
if: >-
github.repository == 'dfinity/ic' &&
( github.event_name != 'pull_request' ||
( github.event.pull_request.head.repo.full_name == github.repository &&
contains(github.event.pull_request.labels.*.name, 'CI_BRE') ) )
steps:
- name: Set up Bazel Remote Execution
run: |
# Provisions the Namespace RBE cluster and writes a bazelrc fragment with
# the remote executor, remote cache, credentials and recommended defaults.
# 'nsc' is pre-authenticated on Namespace runners.
# NOTE: do not print this bazelrc -- it contains short-lived credentials
# that would leak into the Actions logs.
nsc bazel execution setup --bazelrc=/tmp/bazel-rbe.bazelrc
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/netrc
- name: Bazel Test with BRE
shell: bash
run: |
set -euo pipefail

# Custom worker image: a mirror of ic-build, pinned to an immutable digest
# and optimized for BRE. The ref below (Namespace tenant registry + digest)
# is kept up to date automatically by the 'update-image-references' job in
# container-autobuild.yml.
# NOTE: the placeholder digest below is replaced on the first ic-build
# rebuild after this workflow is introduced; until then this job will fail.
worker_image="docker://nscr.io/c9ptjuknd7oc6/ic-build-worker@sha256:0000000000000000000000000000000000000000000000000000000000000000"

targets="${{ inputs.targets || '//...' }}"

Comment thread
Copilot marked this conversation as resolved.
Outdated
# We deliberately bypass the workspace .bazelrc (which pulls in the
# DFINITY-internal cache / remote-execution config) and instead pass the
# build config plus the Namespace RBE config explicitly, mirroring the
# bazel-test-arm64 job in ci-main.yml.
bazel \
--noworkspace_rc \
--bazelrc=./bazel/conf/.bazelrc.build --bazelrc=/tmp/bazel-rbe.bazelrc \
test \
--test_tag_filters=-farm_system_test,-system_test_large,-system_test_benchmark,-fuzz_test,-fi_tests_nightly,-nns_tests_nightly,-pocketic_tests_nightly \
--remote_default_exec_properties=container-image="$worker_image" \
--keep_going \
$targets
2 changes: 1 addition & 1 deletion .github/workflows/ci-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
runs-on: &dind-large-setup
labels: dind-large
container: &container-setup
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 90
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-pr-only.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
runs-on: &dind-small-setup
labels: dind-small
container: &container-setup
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --mount type=tmpfs,target="/tmp/containers"
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/container-api-bn-recovery.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
runs-on:
labels: dind-large
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host
--mount type=tmpfs,target="/home/buildifier/.local/share/containers"
Expand Down
74 changes: 72 additions & 2 deletions .github/workflows/container-autobuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,72 @@ jobs:
exit 1
fi

bre-worker-image:
name: Build BRE Worker Image
# Runs on a Namespace runner where 'nsc' is pre-authenticated. 'update-image-references'
# waits for this job and pins the resulting digest in the same commit. Like
# 'ic-build-image', this job is required: if it fails, that's a bug to fix.
runs-on: namespace-profile-amd64-linux-32x64
needs: [build-image-prep, ic-build-image]
# Restricted to the dfinity/ic repo and, for pull_request events, to non-fork
# PRs -- this job runs on a privileged Namespace runner with pre-authenticated
# 'nsc', so it must never run untrusted code from a fork.
if: |
needs.build-image-prep.outputs.build_image == 'true' &&
github.repository == 'dfinity/ic' &&
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
timeout-minutes: 30
outputs:
worker-image: ${{ steps.worker.outputs.worker-image }}
Comment thread
basvandijk marked this conversation as resolved.
steps:
Comment thread
basvandijk marked this conversation as resolved.
Outdated
- name: Mirror ic-build to nscr.io and optimize for Bazel Remote Execution
id: worker
shell: bash
run: |
set -xeuo pipefail
Comment thread
basvandijk marked this conversation as resolved.

# 'nsc base-image upload' pushes a *relative* name into the Namespace tenant
# registry, prepending $NSC_CONTAINER_REGISTRY (e.g. nscr.io/<tenant>). Do NOT
# pass a fully-qualified ref here or it gets double-prefixed.
: "${NSC_CONTAINER_REGISTRY:?NSC_CONTAINER_REGISTRY is not set on this runner}"

# Mirror the (unchanged) ic-build image -- just pushed to GHCR and pinned by
# digest -- into the Namespace tenant registry. Namespace BRE workers boot
# from this image.
src="ghcr.io/dfinity/ic-build@${{ needs.ic-build-image.outputs.ic-build-imageid }}"
worker_repo="${NSC_CONTAINER_REGISTRY}/ic-build-worker"
worker_tag="${{ needs.build-image-prep.outputs.image_tag }}"

nsc docker login

# Upload, then read the pushed digest from nsc's own "Uploaded base image:"
# line. We parse the upload output rather than 'docker buildx imagetools
# inspect', whose --format prints the whole manifest for the multi-platform
# attestation index that docker/build-push-action emits. BRE needs an
# immutable digest (mutable tags are rejected).
upload_log="$(nsc base-image upload "$src" "ic-build-worker:$worker_tag" 2>&1)"
echo "$upload_log"
worker_digest="$(printf '%s\n' "$upload_log" | grep -i 'Uploaded base image' | grep -oE 'sha256:[0-9a-f]{64}' | tail -n1 || true)"
Comment thread
basvandijk marked this conversation as resolved.
Outdated
: "${worker_digest:?could not parse pushed image digest from nsc base-image upload output}"
worker_image="${worker_repo}@${worker_digest}"
echo "Resolved worker image: $worker_image"

# Optimize the pinned digest into a fast-booting worker variant. This blocks
# until ready and only needs to be done once per digest.
# NOTE: requires the 'baseimage:optimize' permission on the tenant registry.
nsc base-image optimize --image_ref "$worker_image"

echo "worker-image=$worker_image" >> "$GITHUB_OUTPUT"

update-image-references:
name: Update Image References in Repo
runs-on: ubuntu-latest
needs: [build-image-prep, ic-build-image]
# Waits for the (slower) 'bre-worker-image' to finish before committing: the push
# this job makes triggers a new workflow run, and 'cancel-in-progress' in the
# concurrency group would otherwise cancel 'bre-worker-image' mid-optimize.
# Both 'ic-build-image' and 'bre-worker-image' are required (default 'needs'
# semantics): if either fails, that's a bug to fix.
needs: [build-image-prep, ic-build-image, bre-worker-image]
Comment thread
basvandijk marked this conversation as resolved.
Outdated
if: ${{ needs.build-image-prep.outputs.build_image == 'true' }}
Comment thread
basvandijk marked this conversation as resolved.
Outdated
Comment thread
basvandijk marked this conversation as resolved.
Outdated
steps:
- name: Create GitHub App Token
Expand Down Expand Up @@ -141,13 +203,20 @@ jobs:
sed -i -E "s|${IMAGE_PREFIX}ic-build(:\|@)[^\"]{5,}|$IMG_NAME_IC_BUILD|g" -- workflow*/*
popd

# Pin the BRE worker image (always produced by the required 'bre-worker-image')
# in the experimental BRE test workflow. Match any tenant in the registry path
# so this keeps working if the Namespace tenant ever changes.
WORKER_IMAGE='${{ needs.bre-worker-image.outputs.worker-image }}'
Comment thread
basvandijk marked this conversation as resolved.
Outdated
sed -i -E "s|nscr\.io/[^\"/]+/ic-build-worker@sha256:[0-9a-f]{64}|${WORKER_IMAGE}|g" .github/workflows/bre-namespace-test.yml

git config --global user.name "IDX GitHub Automation"
git config --global user.email "<>"
git add .
git commit \
-m 'Updating container images to tag: ${{ needs.build-image-prep.outputs.image_tag }}' \
-m 'ic-build: ${{ needs.ic-build-image.outputs.ic-build-imageid }}' \
-m 'ic-dev: ${{ needs.ic-build-image.outputs.ic-dev-imageid }}'
-m 'ic-dev: ${{ needs.ic-build-image.outputs.ic-dev-imageid }}' \
-m 'ic-build-worker: ${{ needs.bre-worker-image.outputs.worker-image }}'
Comment thread
basvandijk marked this conversation as resolved.
Outdated
git push

- name: Add PR Comment
Expand All @@ -162,6 +231,7 @@ jobs:
message += 'New container images with tag: `${{ needs.build-image-prep.outputs.image_tag }}`\n'
message += 'ic-build: `${{ needs.ic-build-image.outputs.ic-build-imageid }}`\n'
message += 'ic-dev: `${{ needs.ic-build-image.outputs.ic-dev-imageid }}`\n'
message += 'ic-build-worker: `${{ needs.bre-worker-image.outputs.worker-image }}`\n'
Comment thread
basvandijk marked this conversation as resolved.
Outdated

// Find existing comment from this workflow
const comments = await github.rest.issues.listComments({
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/container-scan-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on:
labels: dind-large
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 60
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/local-system-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on:
labels: dind-large
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 600
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pocket-ic-tests-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
bazel-build-pocket-ic:
name: Bazel Build PocketIC
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 90
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rate-limits-backend-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
labels: dind-large

container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host -v /var/tmp:/var/tmp -v /ceph-s3-info:/ceph-s3-info --mount type=tmpfs,target="/tmp/containers"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
group: dm1
labels: dind-large
container: &container-setup
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 180
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rosetta-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on:
labels: dind-large
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
environment: DockerHub
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/salt-sharing-canister-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
labels: dind-large

container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host -v /var/tmp:/var/tmp -v /ceph-s3-info:/ceph-s3-info --mount type=tmpfs,target="/tmp/containers"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/schedule-daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: &dind-large-setup
labels: dind-large
container: &container-setup
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 720 # 12 hours
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/schedule-rust-bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
# see linux-x86-64 runner group
labels: rust-benchmarks
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
# running on bare metal machine using ubuntu user
options: --user ubuntu --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 720 # 12 hours
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/system-tests-benchmarks-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
group: dm1
labels: dind-large
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host --mount type=tmpfs,target="/tmp/containers"
timeout-minutes: 480
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-mainnet-canister-revisions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
labels: dind-small
environment: CREATE_PR
container:
image: ghcr.io/dfinity/ic-build@sha256:0ed93dc568f53cce56042a86b31f98cd1bbb9cd3ea8e649532c366494b9c160a
image: ghcr.io/dfinity/ic-build@sha256:f4c6c7e0e16da470cba7ebceb0145f588d5fd4859c04acfa607bee475ecfa914
options: >-
-e NODE_NAME --privileged --cgroupns host -v /var/tmp:/var/tmp -v /ceph-s3-info:/ceph-s3-info --mount type=tmpfs,target="/tmp/containers"
env:
Expand Down
2 changes: 1 addition & 1 deletion ci/container/TAG
Original file line number Diff line number Diff line change
@@ -1 +1 @@
daa25a4984be312c1cf51c5a932a200fa2fac895bdd550cac7bacb9dad553bae
0000000000000000000000000000000000000000000000000000000000000000
Comment thread
basvandijk marked this conversation as resolved.
Outdated
Loading