Deploying to GitHub Pages
Prerequisites
You need to configure a runner with php
and all Resonance's required
extensions. Learn more about them at:
Installation and Requirements.
Building the Artifact
Replace "
with your Static Site Generator output directory:
shell$ tar --dereference --hard-dereference -cvf "docs/artifact.tar" --exclude=.git --exclude=.github --directory "./build_directory" .
GitHub Actions Workflow
This is an example workflow. In the first step it install PHP extensions, creates the artifact, then in the second step it uploads the artifact to the GitHub pages.
You might need to enable Publishing with a custom GitHub Actions workflow in your GitHub repo first.
yamlname: github pages on: workflow_dispatch: push: branches: - master permissions: contents: read pages: write id-token: write concurrency: group: "pages" cancel-in-progress: true jobs: build: runs-on: ubuntu-latest steps: - name: setup php with extensions uses: shivammathur/setup-php@v2 with: php-version: '8.2' extensions: ds, swoole - name: checkout uses: actions/checkout@v4 - name: setup pages uses: actions/configure-pages@v3 - name: create static pages artifact run: BUILD_ID=$GITHUB_SHA make docs/artifact.tar - name: upload artifact uses: actions/upload-artifact@v3 with: name: github-pages path: docs/artifact.tar retention-days: 1 if-no-files-found: error 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@v2