src: only log fatal errors in tailscale teardown

This commit is contained in:
Aditya Maru 2025-03-03 22:16:31 -05:00
parent 1def72df18
commit feb3751245
5 changed files with 26 additions and 16 deletions

2
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

12
package-lock.json generated
View File

@ -8,7 +8,7 @@
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@actions/core": "^1.10.1", "@actions/core": "^1.10.1",
"@buf/blacksmith_vm-agent.connectrpc_es": "^1.6.1-20250211212423-70f4f1344c53.2", "@buf/blacksmith_vm-agent.connectrpc_es": "^1.6.1-20250304023716-e8d233d92eac.2",
"@connectrpc/connect": "^1.6.1", "@connectrpc/connect": "^1.6.1",
"@connectrpc/connect-node": "^1.6.1", "@connectrpc/connect-node": "^1.6.1",
"@docker/actions-toolkit": "0.37.1", "@docker/actions-toolkit": "0.37.1",
@ -2304,8 +2304,8 @@
"dev": true "dev": true
}, },
"node_modules/@buf/blacksmith_vm-agent.bufbuild_es": { "node_modules/@buf/blacksmith_vm-agent.bufbuild_es": {
"version": "1.10.0-20250211212423-70f4f1344c53.1", "version": "1.10.0-20250304023716-e8d233d92eac.1",
"resolved": "https://buf.build/gen/npm/v1/@buf/blacksmith_vm-agent.bufbuild_es/-/blacksmith_vm-agent.bufbuild_es-1.10.0-20250211212423-70f4f1344c53.1.tgz", "resolved": "https://buf.build/gen/npm/v1/@buf/blacksmith_vm-agent.bufbuild_es/-/blacksmith_vm-agent.bufbuild_es-1.10.0-20250304023716-e8d233d92eac.1.tgz",
"dependencies": { "dependencies": {
"@buf/googleapis_googleapis.bufbuild_es": "1.10.0-20250203201857-83c0f6c19b2f.1" "@buf/googleapis_googleapis.bufbuild_es": "1.10.0-20250203201857-83c0f6c19b2f.1"
}, },
@ -2314,10 +2314,10 @@
} }
}, },
"node_modules/@buf/blacksmith_vm-agent.connectrpc_es": { "node_modules/@buf/blacksmith_vm-agent.connectrpc_es": {
"version": "1.6.1-20250211212423-70f4f1344c53.2", "version": "1.6.1-20250304023716-e8d233d92eac.2",
"resolved": "https://buf.build/gen/npm/v1/@buf/blacksmith_vm-agent.connectrpc_es/-/blacksmith_vm-agent.connectrpc_es-1.6.1-20250211212423-70f4f1344c53.2.tgz", "resolved": "https://buf.build/gen/npm/v1/@buf/blacksmith_vm-agent.connectrpc_es/-/blacksmith_vm-agent.connectrpc_es-1.6.1-20250304023716-e8d233d92eac.2.tgz",
"dependencies": { "dependencies": {
"@buf/blacksmith_vm-agent.bufbuild_es": "1.10.0-20250211212423-70f4f1344c53.1", "@buf/blacksmith_vm-agent.bufbuild_es": "1.10.0-20250304023716-e8d233d92eac.1",
"@buf/googleapis_googleapis.connectrpc_es": "1.6.1-20250203201857-83c0f6c19b2f.2" "@buf/googleapis_googleapis.connectrpc_es": "1.6.1-20250203201857-83c0f6c19b2f.2"
}, },
"peerDependencies": { "peerDependencies": {

View File

@ -27,7 +27,7 @@
"packageManager": "yarn@3.6.3", "packageManager": "yarn@3.6.3",
"dependencies": { "dependencies": {
"@actions/core": "^1.10.1", "@actions/core": "^1.10.1",
"@buf/blacksmith_vm-agent.connectrpc_es": "^1.6.1-20250211212423-70f4f1344c53.2", "@buf/blacksmith_vm-agent.connectrpc_es": "^1.6.1-20250304023716-e8d233d92eac.2",
"@connectrpc/connect": "^1.6.1", "@connectrpc/connect": "^1.6.1",
"@connectrpc/connect-node": "^1.6.1", "@connectrpc/connect-node": "^1.6.1",
"@docker/actions-toolkit": "0.37.1", "@docker/actions-toolkit": "0.37.1",

View File

@ -195,15 +195,25 @@ export async function joinTailnet(): Promise<void> {
export async function leaveTailnet(): Promise<void> { export async function leaveTailnet(): Promise<void> {
try { try {
// Check if we're part of a tailnet before trying to leave // Check if we're part of a tailnet before trying to leave
const {stdout} = await execAsync('sudo tailscale status'); try {
if (stdout.trim() !== '') { const {stdout} = await execAsync('sudo tailscale status');
await execAsync('sudo tailscale down'); if (stdout.trim() !== '') {
core.debug('Successfully left tailnet'); await execAsync('sudo tailscale down');
} else { core.debug('Successfully left tailnet.');
core.debug('Not part of a tailnet, skipping leave'); } else {
core.debug('Not part of a tailnet, skipping leave.');
}
} catch (error: unknown) {
// Type guard for ExecException which has the code property
if (error && typeof error === 'object' && 'code' in error && error.code === 1) {
core.debug('Not part of a tailnet, skipping leave.');
return;
}
// Any other exit code indicates a real error
throw error;
} }
} catch (error) { } catch (error) {
core.warning(`Error leaving tailnet: ${error.message}`); core.warning(`Error leaving tailnet: ${error instanceof Error ? error.message : String(error)}`);
} }
} }