From 9321a0febd3f22af522fb663e855b9b9204ae43d Mon Sep 17 00:00:00 2001 From: lukasIO Date: Wed, 21 Oct 2026 11:13:05 +0200 Subject: [PATCH 1/2] fix(smoke): copy packed tarball instead of renaming it On Ubuntu 26.04 runners /tmp is a tmpfs, so renameSync from the staging dir into the workspace fails with EXDEV. Co-Authored-By: Claude Opus 5.5 --- smoke-tests/scripts/prepare-package.mjs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/smoke-tests/scripts/prepare-package.mjs b/smoke-tests/scripts/prepare-package.mjs index 379fc27d17..d32671b33f 100644 --- a/smoke-tests/scripts/prepare-package.mjs +++ b/smoke-tests/scripts/prepare-package.mjs @@ -1,6 +1,6 @@ #!/usr/bin/env node import { execSync } from 'node:child_process'; -import { existsSync, mkdtempSync, readdirSync, renameSync, rmSync, statSync } from 'node:fs'; +import { copyFileSync, existsSync, mkdtempSync, readdirSync, rmSync, statSync } from 'node:fs'; import { tmpdir } from 'node:os'; import { dirname, join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; @@ -29,10 +29,8 @@ try { if (produced.length !== 1) { throw new Error(`expected exactly one tarball, found ${produced.length}: ${produced.join(', ')}`); } - if (existsSync(tarballTarget)) { - rmSync(tarballTarget); - } - renameSync(join(stagingDir, produced[0]), tarballTarget); + // Copy, not rename: tmpdir() can be a separate filesystem (tmpfs on Ubuntu 26.04 runners). + copyFileSync(join(stagingDir, produced[0]), tarballTarget); console.log('[smoke] wrote', tarballTarget); } finally { rmSync(stagingDir, { recursive: true, force: true }); From fb411260849a5fe979082448dfc8c93b5e18fd60 Mon Sep 17 00:00:00 2001 From: lukasIO Date: Wed, 21 Oct 2026 11:14:51 +0200 Subject: [PATCH 2/2] ci(smoke): label the matrix value as the Node version Co-Authored-By: Claude Opus 5.5 --- .github/workflows/smoke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 1d4a96cd7a..a1cb847bb8 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -11,7 +11,7 @@ permissions: jobs: smoke: - name: Built-package smoke (${{ matrix.node }} / ubuntu) + name: Built-package smoke (Node ${{ matrix.node }} / ubuntu-latest) runs-on: ubuntu-latest strategy: fail-fast: false