From 6280970ad848487ddcb422427c276402a6d79fc6 Mon Sep 17 00:00:00 2001 From: Joey Parrish Date: Mon, 13 May 2024 09:38:48 -0700 Subject: [PATCH] ci: Publish updated demo automatically Closes #47 --- .github/workflows/publish-demo.yaml | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/publish-demo.yaml diff --git a/.github/workflows/publish-demo.yaml b/.github/workflows/publish-demo.yaml new file mode 100644 index 0000000..ab303ea --- /dev/null +++ b/.github/workflows/publish-demo.yaml @@ -0,0 +1,56 @@ +# A workflow to publish the demo to GitHub Pages. +name: Publish Demo + +# Runs on push to main. +on: + push: + branches: + - main + # For manual debugging: + workflow_dispatch: + inputs: + ref: + description: "The ref to build from." + required: true + type: string + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref || github.ref }} + + - name: Build + run: npm run ci && npm run build + + - name: Clean + run: rm -rf node_modules + + - name: Upload artifacts + uses: actions/upload-pages-artifact@v3 + with: + path: . + + publish: + name: Publish updated demo + needs: build + runs-on: ubuntu-latest + + # Grant GITHUB_TOKEN the permissions required to deploy to Pages + permissions: + pages: write + id-token: write + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4