diff --git a/.github/workflows/vite.yaml b/.github/workflows/vite.yaml new file mode 100644 index 0000000..8ee4452 --- /dev/null +++ b/.github/workflows/vite.yaml @@ -0,0 +1,65 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ['main'] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: 'pages' + cancel-in-progress: true + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Conditionally set base in vite.config.js + run: | + REPO_NAME="${{ github.event.repository.name }}" + CONFIG_FILE='vite.config.js' + BASE_PATTERN="base: '/$REPO_NAME/'," + + if ! grep -q "base:" "$CONFIG_FILE"; then + echo "Base property not found. Setting it to '$BASE_PATTERN'" + # Use sed to insert the base property directly under the export default defineConfig({ + sed -i "/export default defineConfig({/a \ \ $BASE_PATTERN" $CONFIG_FILE + else + echo "Base property already set in $CONFIG_FILE" + fi + + - name: Set up Node + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + - name: Install dependencies + run: npm install + - name: Build + run: npm run build + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + # Upload dist repository + path: './dist' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 \ No newline at end of file