Skip to content

Commit

Permalink
Add new deploy workflow for gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
alanchangxyz committed Apr 1, 2024
1 parent 7e9eb77 commit 9a3ca31
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: deploy-to-github-pages
on:
push:
branches:
- main

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: checkout
uses: actions/checkout@v4

- name: setup node/pnpm and install dependencies
uses: ./.github/workflows/setup-node-pnpm

- name: setup pages
uses: actions/configure-pages@v4
with:
static_site_generator: next

- name: build nextjs
run: npx next build

- name: upload
uses: actions/upload-pages-artifact@v3
with:
path: ./out

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

runs-on: ubuntu-latest
needs: build

steps:
- name: publish to github pages
id: deployment
uses: actions/deploy-pages@v4
31 changes: 31 additions & 0 deletions .github/workflows/setup-node-pnpm/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: setup-node-pnpm
description: "Setup node.js & install/cache dependencies with pnpm"
runs:
using: composite

steps:
- name: setup node
uses: actions/setup-node@v4
with:
node-version: lts

- name: setup pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false

- name: get pnpm store dir
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: cache dependencies in pnpm
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: install dependencies in pnpm
run: pnpm install

0 comments on commit 9a3ca31

Please sign in to comment.