name: Website on: push: branches: - main paths: - website/** pull_request: paths: - website/** workflow_dispatch: env: CARGO_TERM_COLOR: always jobs: build: name: Next.js Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node uses: actions/setup-node@v3 - name: Install pnpm uses: pnpm/action-setup@v2.0.1 id: pnpm-install with: version: 7 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - name: Cache pnpm uses: actions/cache@v3 with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('website/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Cache next.js uses: actions/cache@v3 with: path: | ${{ github.workspace }}/.next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('website/pnpm-lock.yaml') }}-${{ hashFiles('website/**.[jt]s', 'website/**.[jt]sx') }} restore-keys: | ${{ runner.os }}-nextjs-${{ hashFiles('website/pnpm-lock.yaml') }}- - name: Install dependencies run: pnpm install - name: Build page run: pnpm run build - name: Export page run: pnpm run export