name: Deploy on: push: branches: - main jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 - name: Install dependencies run: npm install - name: Generate project as a static site run: npm run generate - name: Upload production-ready build files uses: actions/upload-artifact@v4 with: name: production-files path: .output/public deploy: name: Deploy needs: build runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: - name: Download artifact uses: actions/download-artifact@v4 with: name: production-files path: ./output/public - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./output/public