From 03dc98419d24201bc39695a1e876507170bc2cf8 Mon Sep 17 00:00:00 2001 From: Samuel Kopp <62482066+boywithkeyboard@users.noreply.github.com> Date: Sun, 24 Mar 2024 23:53:25 +0100 Subject: [PATCH] refactor: check platform --- build/index.js | 7 +++++-- src/index.ts | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/build/index.js b/build/index.js index bbed2a2..d1531df 100644 --- a/build/index.js +++ b/build/index.js @@ -18855,6 +18855,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); // src/index.ts var import_core = __toESM(require_core()); var import_node_child_process = require("node:child_process"); +var import_node_os = require("node:os"); // src/fetchTrace.ts async function fetchTrace() { @@ -18883,14 +18884,16 @@ try { if (/^off|malware|full$/.test(familyMode) === false) { throw new Error("Bad option: familyMode"); } + if ((0, import_node_os.platform)() !== "linux") { + throw new Error("This action is only available for Linux!"); + } (0, import_node_child_process.execSync)("curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg"); (0, import_node_child_process.execSync)('echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list'); (0, import_node_child_process.execSync)("sudo apt-get -y update && sudo apt-get install -y cloudflare-warp"); (0, import_node_child_process.execSync)("sudo warp-cli --accept-tos registration new"); (0, import_node_child_process.execSync)(`sudo warp-cli --accept-tos mode ${onlyDoH ? "doh" : "warp+doh"}`); (0, import_node_child_process.execSync)(`sudo warp-cli --accept-tos dns families ${familyMode}`); - const result = (0, import_node_child_process.execSync)("sudo warp-cli --accept-tos connect"); - console.log(result.toString("utf-8")); + (0, import_node_child_process.execSync)("sudo warp-cli --accept-tos connect"); await wait(1e3); const trace = await fetchTrace(); if (trace.warp === "off") { diff --git a/src/index.ts b/src/index.ts index d3ba25f..e0eaa1c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,6 @@ import { getBooleanInput, getInput, setFailed } from '@actions/core' import { execSync } from 'node:child_process' +import { platform } from 'node:os' import { fetchTrace } from './fetchTrace' import { wait } from './wait' @@ -12,6 +13,10 @@ try { throw new Error('Bad option: familyMode') } + if (platform() !== 'linux') { + throw new Error('This action is only available for Linux!') + } + // add cloudflare gpg key execSync('curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg') @@ -25,9 +30,7 @@ try { execSync('sudo warp-cli --accept-tos registration new') execSync(`sudo warp-cli --accept-tos mode ${onlyDoH ? 'doh' : 'warp+doh'}`) execSync(`sudo warp-cli --accept-tos dns families ${familyMode}`) - const result = execSync('sudo warp-cli --accept-tos connect') - - console.log(result.toString('utf-8')) + execSync('sudo warp-cli --accept-tos connect') // verify installation await wait(1000)