diff --git a/.github/workflows/astro.yml b/.github/workflows/astro.yml
index a0a71c3b793a03295f35e50aa5caafeac0262a0d..c82964ee9fcc81e4b273780918038f1e8ab09fb7 100644
--- a/.github/workflows/astro.yml
+++ b/.github/workflows/astro.yml
@@ -44,6 +44,12 @@ jobs:
             echo "runner=yarn" >> $GITHUB_OUTPUT
             echo "lockfile=yarn.lock" >> $GITHUB_OUTPUT
             exit 0
+          elif [ -f "${{ github.workspace }}/pnpm-lock.yaml" ]; then
+            echo "manager=pnpm" >> $GITHUB_OUTPUT
+            echo "command=install" >> $GITHUB_OUTPUT
+            echo "runner=pnpm" >> $GITHUB_OUTPUT
+            echo "lockfile=pnpm-lock.yaml" >> $GITHUB_OUTPUT
+            exit 0
           elif [ -f "${{ github.workspace }}/package.json" ]; then
             echo "manager=npm" >> $GITHUB_OUTPUT
             echo "command=ci" >> $GITHUB_OUTPUT