Merge remote-tracking branch 'upstream/main' #105
This file contains 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
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: build | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- uses: actions/checkout@v4 | |
# pnpm setup | |
# refer to https://github.com/pnpm/action-setup | |
- name: pnpm setup | |
uses: pnpm/action-setup@v2.4.0 | |
with: | |
version: 8 | |
run_install: false | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'pnpm' | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
run: | | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Run lint | |
run: pnpm lint | |
- name: Run Prettier | |
run: pnpm format | |
- name: Run build | |
env: | |
CNAME: ${{secrets.CNAME}} | |
run: | | |
pnpm build | |
echo "${CNAME}" >> ./build/CNAME | |
- name: Deploy 🚀 | |
uses: JamesIves/github-pages-deploy-action@v4.4.3 | |
env: | |
SKIP_DEPLOY_TO_GHPAGES: ${{secrets.SKIP_DEPLOY_TO_GHPAGES}} | |
if: ${{ github.ref == 'refs/heads/main' && env.SKIP_DEPLOY_TO_GHPAGES == '' }} | |
with: | |
branch: gh-pages # The branch the action should deploy to. | |
folder: build # The folder the action should deploy. |