Merge pull request #101 from useblacksmith/tailscale-cleanup

src: only log fatal errors in tailscale teardown
This commit is contained in:
Aditya Maru 2025-03-03 22:57:51 -05:00 committed by GitHub
commit aa05aa4d9f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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",
"dependencies": {
"@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-node": "^1.6.1",
"@docker/actions-toolkit": "0.37.1",
@ -2304,8 +2304,8 @@
"dev": true
},
"node_modules/@buf/blacksmith_vm-agent.bufbuild_es": {
"version": "1.10.0-20250211212423-70f4f1344c53.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",
"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-20250304023716-e8d233d92eac.1.tgz",
"dependencies": {
"@buf/googleapis_googleapis.bufbuild_es": "1.10.0-20250203201857-83c0f6c19b2f.1"
},
@ -2314,10 +2314,10 @@
}
},
"node_modules/@buf/blacksmith_vm-agent.connectrpc_es": {
"version": "1.6.1-20250211212423-70f4f1344c53.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",
"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-20250304023716-e8d233d92eac.2.tgz",
"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"
},
"peerDependencies": {

View File

@ -27,7 +27,7 @@
"packageManager": "yarn@3.6.3",
"dependencies": {
"@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-node": "^1.6.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> {
try {
// Check if we're part of a tailnet before trying to leave
const {stdout} = await execAsync('sudo tailscale status');
if (stdout.trim() !== '') {
await execAsync('sudo tailscale down');
core.debug('Successfully left tailnet');
} else {
core.debug('Not part of a tailnet, skipping leave');
try {
const {stdout} = await execAsync('sudo tailscale status');
if (stdout.trim() !== '') {
await execAsync('sudo tailscale down');
core.debug('Successfully left tailnet.');
} 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) {
core.warning(`Error leaving tailnet: ${error.message}`);
core.warning(`Error leaving tailnet: ${error instanceof Error ? error.message : String(error)}`);
}
}