From 6d4c4b7dbe07a274f0c9ab88131cc09226180589 Mon Sep 17 00:00:00 2001 From: "hamed@B" Date: Wed, 21 Oct 2026 11:06:58 +0330 Subject: [PATCH] Fix GitHub Pages deployment and document game URL --- .github/workflows/pages.yml | 39 +++++++++++++++++++++++++++++++++++++ README.md | 8 ++++++++ 2 files changed, 47 insertions(+) create mode 100644 .github/workflows/pages.yml diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..8e44639 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,39 @@ +name: Deploy game to GitHub Pages + +on: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: false + +jobs: + deploy: + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + - run: npm ci + - name: Test game logic + run: node --test tests/*.test.js + - run: npm run build + - uses: actions/configure-pages@v5 + - uses: actions/upload-pages-artifact@v3 + with: + path: dist + - name: Deploy + id: deployment + uses: actions/deploy-pages@v4 diff --git a/README.md b/README.md index 26c571b..175de56 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,14 @@ بازی سه‌بعدی JavaScript با Three.js: پدر و بچه در جنگل راه می‌روند، از دستگاه خرید می‌کنند و به پیک‌نیک می‌رسند. مدل‌ها با کد ساخته شده‌اند. +🎮 [اجرای آنلاین بازی](https://hamedabdollahzade.github.io/vending-machine-game/) + +## انتشار در GitHub Pages + +در تنظیمات مخزن، بخش **Settings → Pages → Build and deployment**، گزینهٔ **Source** را روی **GitHub Actions** قرار دهید. انتشار مستقیم از `main / (root)` مناسب این پروژه نیست: فایل‌های سورس باید ابتدا با Vite ساخته شوند تا JavaScript، استایل‌ها و وابستگی‌ها برای مرورگر آماده شوند. + +گردش‌کار `.github/workflows/pages.yml` با هر push به `main` تست‌ها و build را اجرا می‌کند و فقط خروجی `dist` را منتشر می‌کند. پس از تغییر Source، تغییرات را به `main` بفرستید یا از بخش **Actions** گردش‌کار **Deploy game to GitHub Pages** را دستی اجرا کنید. تنظیم `base: './'` در Vite مسیر فایل‌های خروجی را با زیرمسیر مخزن سازگار نگه می‌دارد. + ## اجرا ```sh