name: Build and Deploy Demo Site on: push: branches: [main] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: '22' - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install site requirements and the kernel extension run: | python -m pip install -r demo/requirements.txt python -m pip install . - name: Build the JupyterLite site run: jupyter lite build --lite-dir demo --contents content --output-dir dist - name: Make the site cross-origin isolated (enables interrupt) run: node demo/inject-coi.mjs dist - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./dist deploy: needs: build if: github.ref == 'refs/heads/main' permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4