feat: basic site #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy website | |
| # Builds the static site under `` and deploys it to GitHub Pages. | |
| # The site is plain HTML/CSS, so we just upload the directory as-is. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "**" | |
| - ".github/workflows/pages.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| validate: | |
| name: Validate website assets | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Smoke check website files | |
| # Cheap structural checks so a typo in the deploy step does not push | |
| # a broken site live. | |
| run: | | |
| set -e | |
| test -f index.html | |
| test -f install.html | |
| test -f docs.html | |
| test -f styles.css | |
| test -f CNAME | |
| test -f assets/logo.svg | |
| test -f assets/logo.png | |
| # Make sure every page references the stylesheet. | |
| for f in index.html install.html docs.html; do | |
| grep -q 'styles.css' "$f" | |
| done | |
| echo "website looks ok" | |
| build: | |
| name: Build site | |
| needs: validate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| deploy: | |
| name: Deploy to GitHub Pages | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - id: deployment | |
| uses: actions/deploy-pages@v4 |