From 511c6dd29dd75055813add03ae7823be4b6f5c31 Mon Sep 17 00:00:00 2001
From: corb3nik <ian@atvh.dev>
Date: Thu, 2 Jan 2025 23:21:33 -0500
Subject: [PATCH] Add validate workflow

---
 .github/workflows/validate.yml | 43 ++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 .github/workflows/validate.yml

diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
new file mode 100644
index 0000000..f2cfd7a
--- /dev/null
+++ b/.github/workflows/validate.yml
@@ -0,0 +1,43 @@
+name: Validate
+
+on:
+  push:
+    branches:
+      - 'main'
+  pull_request:
+
+env:
+  NODE_VERSION: 20
+  PNPM_VERSION: 9
+
+jobs:
+  validate:
+    runs-on: ubuntu-latest
+    timeout-minutes: 10
+
+    steps:
+      - name: Checkout project
+        uses: actions/checkout@v4
+
+      - name: Setup Node.js
+        uses: actions/setup-node@v4
+        with:
+          node-version: ${{ env.NODE_VERSION }}
+
+      - name: Setup pnpm
+        uses: pnpm/action-setup@v4
+        with:
+          version: ${{ env.PNPM_VERSION }}
+          run_install: false
+
+      - name: Install dependencies
+        run: pnpm install
+
+      - name: Build
+        run: pnpm build
+
+      - name: Run tests
+        run: pnpm test
+
+      - name: Typecheck
+        run: pnpm typecheck
\ No newline at end of file