Skip to content

github pages

github pages #16

Workflow file for this run

name: github pages
on:
push:
branches:
- main
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
check-latest: true
node-version: 20.11.1
cache: npm
cache-dependency-path: |
package-lock.json
- uses: actions/setup-go@v5
with:
check-latest: true
cache-dependency-path: go.sum
go-version-file: go.mod
cache: true
- name: build
run: make build-deps \
go mod download && go mod verify \
make build
- uses: actions/upload-artifact@v4
if: github.ref != 'refs/heads/main'
with:
if-no-files-found: error
name: 'public-${{ steps.vars.outputs.sha_short }}'
path: ./public
retention-days: 1
- name: Upload artifact
if: github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: ./public
# Deploy job
deploy:
# Add a dependency to the build job
needs: build
if: github.ref == 'refs/heads/main'
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action