ci(site): add format/lint/test/build workflow for astro site

Add Site GitHub Actions workflow running prettier format check, astro
check, tests, and build on changes under site/. Wire prettier into the
site package with config, ignore, and scripts, and format existing
sources.
This commit is contained in:
Christian Visintin
2026-06-08 10:16:00 +02:00
parent f92cb93755
commit a2d766d688
19 changed files with 445 additions and 107 deletions
+34 -11
View File
@@ -6,7 +6,8 @@ import InstallTabs from "../components/InstallTabs.astro";
import CopyButton from "../components/CopyButton.astro";
import { DOCS_URL } from "../consts";
const script = "curl --proto '=https' --tlsv1.2 -sSLf https://termscp.rs/install.sh | sh";
const script =
"curl --proto '=https' --tlsv1.2 -sSLf https://termscp.rs/install.sh | sh";
const psScript = "irm https://termscp.rs/install.ps1 | iex";
const methods = [
@@ -16,6 +17,7 @@ const methods = [
{ id: "choco", label: "Windows (Chocolatey)", cmd: "choco install termscp" },
];
---
<Base
title="Install termscp"
description="Install termscp on Linux, macOS, BSD and Windows — one shell command, or via Cargo, pacman, pkgin and Chocolatey."
@@ -24,37 +26,58 @@ const methods = [
<Nav />
<main class="mx-auto w-full max-w-3xl flex-1 px-4 py-12">
<h1 class="text-2xl font-bold text-text">Install termscp</h1>
<p class="mt-2 text-subtext">Pick your platform. One command and you're in.</p>
<p class="mt-2 text-subtext">
Pick your platform. One command and you're in.
</p>
<div class="mt-6 rounded-lg border border-line bg-mantle p-1">
<div class="flex items-center gap-2 border-b border-line px-3 py-2 text-xs text-overlay">
<div
class="flex items-center gap-2 border-b border-line px-3 py-2 text-xs text-overlay"
>
<span class="text-green">$</span> Linux · macOS · BSD
</div>
<div class="relative">
<pre class="m-0 overflow-auto bg-base px-4 py-4 pr-12 text-sm text-text"><code>{script}</code></pre>
<pre
class="m-0 overflow-auto bg-base px-4 py-4 pr-12 text-sm text-text"><code>{script}</code></pre>
<CopyButton text={script} class="absolute right-2 top-2" />
</div>
</div>
<p class="mt-2 text-xs text-overlay">Requires <span class="text-text">curl</span>. macOS uses Homebrew if available, otherwise builds from source.</p>
<p class="mt-2 text-xs text-overlay">
Requires <span class="text-text">curl</span>. macOS uses Homebrew if
available, otherwise builds from source.
</p>
<div class="mt-6 rounded-lg border border-line bg-mantle p-1">
<div class="flex items-center gap-2 border-b border-line px-3 py-2 text-xs text-overlay">
<div
class="flex items-center gap-2 border-b border-line px-3 py-2 text-xs text-overlay"
>
<span class="text-green">&gt;</span> Windows (PowerShell)
</div>
<div class="relative">
<pre class="m-0 overflow-auto bg-base px-4 py-4 pr-12 text-sm text-text"><code>{psScript}</code></pre>
<pre
class="m-0 overflow-auto bg-base px-4 py-4 pr-12 text-sm text-text"><code>{psScript}</code></pre>
<CopyButton text={psScript} class="absolute right-2 top-2" />
</div>
</div>
<p class="mt-2 text-xs text-overlay">Downloads the latest release and adds <span class="text-text">termscp</span> to your user PATH.</p>
<p class="mt-2 text-xs text-overlay">
Downloads the latest release and adds <span class="text-text"
>termscp</span
> to your user PATH.
</p>
<h2 class="mt-10 mb-3 text-lg text-text">Package managers</h2>
<InstallTabs methods={methods} />
<p class="mt-8 text-sm text-overlay">Update anytime with <span class="text-green">termscp --update</span>.</p>
<p class="mt-8 text-sm text-overlay">
Update anytime with <span class="text-green">termscp --update</span>.
</p>
<p class="mt-2 text-sm text-overlay">
Linux build deps: <span class="text-text">libdbus-1</span>, <span class="text-text">pkg-config</span>, <span class="text-text">libsmbclient</span>.
More details in the <a href={DOCS_URL} class="text-blue hover:underline">docs</a>.
Linux build deps: <span class="text-text">libdbus-1</span>, <span
class="text-text">pkg-config</span
>, <span class="text-text">libsmbclient</span>. More details in the <a
href={DOCS_URL}
class="text-blue hover:underline">docs</a
>.
</p>
</main>
<Footer />