From 6b148647b90c059a0740864c908ccf484de62a5f Mon Sep 17 00:00:00 2001 From: Jerome Date: Thu, 3 Jul 2025 11:32:39 +0100 Subject: [PATCH] Add GitHub Pages deployment workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create GitHub Actions workflow for automatic deployment on main branch pushes - Configure Vite base path for GitHub Pages hosting - Set up build and deploy pipeline with proper permissions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/deploy.yml | 49 ++++++++++++++++++++++++++++++++++++ vite.config.ts | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..6b3012e --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,49 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./dist + + deploy: + needs: build + runs-on: ubuntu-latest + + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index f4734f6..babf8ce 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -7,7 +7,7 @@ export default defineConfig({ plugins: [react()], // Set base to '/' for local testing, or to your repo name for GitHub Pages // e.g., base: '/example-remote-client/' for https://username.github.io/example-remote-client/ - base: '/', + base: process.env.NODE_ENV === 'production' ? '/example-remote-client/' : '/', resolve: { alias: { '@': path.resolve(__dirname, './src'),