From 3aacb0f5ef4f88d6e25465be2c2e327c9773c016 Mon Sep 17 00:00:00 2001 From: 4gray Date: Fri, 25 Sep 2026 22:53:29 +0200 Subject: [PATCH] test(release): detect local Snap permission test prerequisites --- tools/packaging/publish-snap-workflow.test.mjs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/packaging/publish-snap-workflow.test.mjs b/tools/packaging/publish-snap-workflow.test.mjs index 000b21364..2cac76b6c 100644 --- a/tools/packaging/publish-snap-workflow.test.mjs +++ b/tools/packaging/publish-snap-workflow.test.mjs @@ -184,6 +184,18 @@ test( step, 'Snapcraft needs a writable sibling directory for metadata extraction' ); + const canElevate = + process.getuid() === 0 || + spawnSync('sudo', ['-n', 'true']).status === 0; + const canDropPrivileges = + spawnSync('/usr/bin/setpriv', ['--version']).status === 0; + if (!canElevate || !canDropPrivileges) { + const reason = + 'Snap upload permission integration requires root or passwordless sudo and /usr/bin/setpriv'; + assert.ok(!process.env.CI, reason); + t.skip(reason); + return; + } const directory = fs.mkdtempSync( path.join(os.tmpdir(), 'snap-upload-permissions-') );