Skip to content

Commit 584e259

Browse files
merge multicast-e2e into omdb-mcast
2 parents 6cc30ec + 9dfbab0 commit 584e259

468 files changed

Lines changed: 11099 additions & 4921 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/buildomat/build-and-test.sh

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,25 +105,25 @@ export TMPDIR="$TEST_TMPDIR"
105105
export RUST_BACKTRACE=1
106106
# We're building once, so there's no need to incur the overhead of an incremental build.
107107
export CARGO_INCREMENTAL=0
108-
# This allows us to build with unstable options, which gives us access to some
109-
# timing information.
110-
#
111-
# If we remove "--timings=json" below, this would no longer be needed.
108+
# This allows us to use -Zbuild-analysis to collect per-crate build timing
109+
# data in JSONL format.
112110
export RUSTC_BOOTSTRAP=1
113111

114112
# Build all the packages and tests, and keep track of how long each took to build.
115-
# We report build progress to stderr, and the "--timings=json" output goes to stdout.
116113
#
117114
# The build graph ends up building several bin/test targets that depend on
118115
# omicron-nexus at the same time, which uses significant memory to compile on
119116
# illumos. To mitigate this we build everything except omicron-nexus's bin/test
120117
# targets first, then finish the build after.
121-
ptime -m cargo build -Z unstable-options --timings=json \
122-
--workspace --exclude=omicron-nexus --tests --locked --verbose \
123-
1>> "$OUTPUT_DIR/crate-build-timings.json"
124-
ptime -m cargo build -Z unstable-options --timings=json \
125-
--workspace --tests --locked --verbose \
126-
1>> "$OUTPUT_DIR/crate-build-timings.json"
118+
#
119+
# Both invocations use the same flags to avoid cache invalidation.
120+
# We collect timing data only from the second (full workspace) build.
121+
ptime -m cargo --config 'build.analysis.enabled=true' build -Zbuild-analysis \
122+
--workspace --exclude=omicron-nexus --tests --locked --verbose
123+
ptime -m cargo --config 'build.analysis.enabled=true' build -Zbuild-analysis \
124+
--workspace --tests --locked --verbose
125+
cp "$(ls -t "${CARGO_HOME:-$HOME/.cargo}/log/"*.jsonl | head -1)" \
126+
"$OUTPUT_DIR/cargo-build-analysis.jsonl"
127127

128128
#
129129
# We apply our own timeout to ensure that we get a normal failure on timeout

.github/buildomat/jobs/build-and-test-helios.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#:
33
#: name = "build-and-test (helios)"
44
#: variety = "basic"
5-
#: target = "helios-2.0"
5+
#: target = "helios-2.0-32c256gb"
66
#: rust_toolchain = true
77
#: output_rules = [
88
#: "%/work/*",
@@ -29,8 +29,8 @@
2929
#:
3030
#: [[publish]]
3131
#: series = "build-info-helios"
32-
#: name = "crate-build-timings.json"
33-
#: from_output = "/work/crate-build-timings.json"
32+
#: name = "cargo-build-analysis.jsonl"
33+
#: from_output = "/work/cargo-build-analysis.jsonl"
3434
#:
3535
#: [[publish]]
3636
#: series = "live-tests"

.github/buildomat/jobs/build-and-test-linux.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#:
33
#: name = "build-and-test (ubuntu-22.04)"
44
#: variety = "basic"
5-
#: target = "ubuntu-22.04"
5+
#: target = "ubuntu-22.04-large"
66
#: rust_toolchain = true
77
#: output_rules = [
88
#: "%/work/*",
@@ -28,8 +28,8 @@
2828
#:
2929
#: [[publish]]
3030
#: series = "build-info-linux"
31-
#: name = "crate-build-timings.json"
32-
#: from_output = "/work/crate-build-timings.json"
31+
#: name = "cargo-build-analysis.jsonl"
32+
#: from_output = "/work/cargo-build-analysis.jsonl"
3333
#:
3434
#: [[publish]]
3535
#: series = "nextest-recording-linux"

.github/buildomat/jobs/package.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#:
33
#: name = "helios / package"
44
#: variety = "basic"
5-
#: target = "helios-2.0"
5+
#: target = "helios-2.0-16c64gb"
66
#: rust_toolchain = true
77
#: output_rules = [
88
#: "=/work/package.tar.gz",

.github/buildomat/jobs/tuf-repo.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#:
33
#: name = "helios / build TUF repo"
44
#: variety = "basic"
5-
#: target = "helios-2.0"
5+
#: target = "helios-2.0-16c128gb"
66
#: rust_toolchain = true
77
#: output_rules = [
88
#: "=/work/manifest.toml",

0 commit comments

Comments
 (0)