From 3283f9c1200a353ae2aadef2f0ea42a67437c160 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Mon, 26 Oct 2026 10:04:12 -0700 Subject: [PATCH 1/3] Use workspace storage for compiler build scratch Compiler builds exhaust the /tmp quota on the Ubuntu 26.04 hosted image now selected by ubuntu-latest. Use workspace-backed scratch storage so toolchain downloads and compilation can complete. --- build/benchmark.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/benchmark.yml b/build/benchmark.yml index 9027ecdf..74f19e21 100644 --- a/build/benchmark.yml +++ b/build/benchmark.yml @@ -323,6 +323,8 @@ jobs: displayName: Build new TypeScript condition: and(succeeded(), eq(variables['TSPERF_IS_COMPARISON'], 'true')) workingDirectory: $(TYPESCRIPT_DIR) + env: + TMPDIR: $(Pipeline.Workspace) - bash: | set -eo pipefail @@ -354,6 +356,8 @@ jobs: settableVariables: none displayName: Build baseline TypeScript workingDirectory: $(TYPESCRIPT_DIR) + env: + TMPDIR: $(Pipeline.Workspace) - bash: | set -eo pipefail From 2fad8cda58ed2d20e7b0831c06c9aa947360f123 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Mon, 26 Oct 2026 10:06:17 -0700 Subject: [PATCH 2/3] Isolate compiler build temporary files in a subdirectory Processes outside the compiler sandbox also inherit TMPDIR. Keep their temporary files out of the workspace root by using a dedicated build temporary directory. --- build/benchmark.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/benchmark.yml b/build/benchmark.yml index 74f19e21..13a3093d 100644 --- a/build/benchmark.yml +++ b/build/benchmark.yml @@ -315,6 +315,7 @@ jobs: - bash: | set -exo pipefail + mkdir -p "$TMPDIR" node $(BENCH_SCRIPTS)/buildTypeScript.js --outputDir $(ARTIFACTS_DIR)/new \ --variablesFile $(Pipeline.Workspace)/new-variables.json target: @@ -324,7 +325,7 @@ jobs: condition: and(succeeded(), eq(variables['TSPERF_IS_COMPARISON'], 'true')) workingDirectory: $(TYPESCRIPT_DIR) env: - TMPDIR: $(Pipeline.Workspace) + TMPDIR: $(Pipeline.Workspace)/compiler-build-tmp - bash: | set -eo pipefail @@ -349,6 +350,7 @@ jobs: - bash: | set -exo pipefail + mkdir -p "$TMPDIR" node $(BENCH_SCRIPTS)/buildTypeScript.js --baseline --outputDir $(ARTIFACTS_DIR)/baseline \ --variablesFile $(Pipeline.Workspace)/baseline-variables.json target: @@ -357,7 +359,7 @@ jobs: displayName: Build baseline TypeScript workingDirectory: $(TYPESCRIPT_DIR) env: - TMPDIR: $(Pipeline.Workspace) + TMPDIR: $(Pipeline.Workspace)/compiler-build-tmp - bash: | set -eo pipefail From 57af196b32d732133d7e031485daa79ef96742fa Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Mon, 26 Oct 2026 10:10:57 -0700 Subject: [PATCH 3/3] Use the agent temporary directory for compiler builds Azure Pipelines provides disk-backed temporary storage with managed cleanup. Use it instead of maintaining a separate workspace directory to avoid the Ubuntu 26.04 /tmp quota. --- build/benchmark.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build/benchmark.yml b/build/benchmark.yml index 13a3093d..c0bb645b 100644 --- a/build/benchmark.yml +++ b/build/benchmark.yml @@ -315,7 +315,6 @@ jobs: - bash: | set -exo pipefail - mkdir -p "$TMPDIR" node $(BENCH_SCRIPTS)/buildTypeScript.js --outputDir $(ARTIFACTS_DIR)/new \ --variablesFile $(Pipeline.Workspace)/new-variables.json target: @@ -325,7 +324,7 @@ jobs: condition: and(succeeded(), eq(variables['TSPERF_IS_COMPARISON'], 'true')) workingDirectory: $(TYPESCRIPT_DIR) env: - TMPDIR: $(Pipeline.Workspace)/compiler-build-tmp + TMPDIR: $(Agent.TempDirectory) - bash: | set -eo pipefail @@ -350,7 +349,6 @@ jobs: - bash: | set -exo pipefail - mkdir -p "$TMPDIR" node $(BENCH_SCRIPTS)/buildTypeScript.js --baseline --outputDir $(ARTIFACTS_DIR)/baseline \ --variablesFile $(Pipeline.Workspace)/baseline-variables.json target: @@ -359,7 +357,7 @@ jobs: displayName: Build baseline TypeScript workingDirectory: $(TYPESCRIPT_DIR) env: - TMPDIR: $(Pipeline.Workspace)/compiler-build-tmp + TMPDIR: $(Agent.TempDirectory) - bash: | set -eo pipefail