diff --git a/.github/workflows/deploy-to-production.yml b/.github/workflows/deploy-to-production.yml new file mode 100644 index 00000000..c50a1500 --- /dev/null +++ b/.github/workflows/deploy-to-production.yml @@ -0,0 +1,50 @@ +name: deploy-to-production + +on: + workflow_dispatch: # allow manual runs + push: + branches: + - master + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: github-pages + cancel-in-progress: false # skip any intermediate builds but let finish + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: npm + - name: Setup Pages + id: pages + uses: actions/configure-pages@v5 + - name: Install dependencies + run: npm ci + - name: Build with Webpack + run: npm run build + - name: Upload artifact + uses: actions/upload-pages-artifact@v4 + with: + path: ./docs + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4