feat: Collection thumbnails, start page, and public view updates #252
Workflow file for this run
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
name: Frontend Prepare Build | |
on: | |
pull_request: | |
paths: | |
- 'frontend/src/**' | |
- 'frontend/*.json' | |
- 'frontend/*.js' | |
- 'frontend/*.ts' | |
- '.github/workflows/frontend-build-check.yaml' | |
jobs: | |
setup-and-build: | |
runs-on: ubuntu-latest | |
steps: | |
# Setup: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
cache: 'yarn' | |
cache-dependency-path: frontend/yarn.lock | |
- name: Restore cache | |
uses: actions/cache@v4 | |
with: | |
path: frontend/dist | |
key: ${{ runner.os }}-btrix-frontend-build-${{ hashFiles('frontend/dist') }} | |
restore-keys: | | |
${{ runner.os }}-btrix-frontend-build- | |
- name: Get installed Playwright version | |
working-directory: frontend | |
id: playwright-version | |
run: | | |
yarn add @yarnpkg/lockfile | |
echo "PLAYWRIGHT_VERSION=$(node scripts/get-resolved-playwright-version.js)" >> $GITHUB_ENV | |
- name: Cache playwright binaries | |
uses: actions/cache@v4 | |
id: playwright-cache | |
with: | |
path: | | |
~/.cache/ms-playwright | |
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }} | |
- name: Install dependencies | |
working-directory: frontend | |
env: | |
HUSKY: 0 | |
run: yarn install --frozen-lockfile | |
- name: Install Playwright Browsers | |
working-directory: frontend | |
env: | |
HUSKY: 0 | |
run: yarn playwright install --with-deps | |
if: steps.playwright-cache.outputs.cache-hit != 'true' | |
- name: Install Playwright Deps | |
working-directory: frontend | |
env: | |
HUSKY: 0 | |
run: yarn playwright install-deps | |
if: steps.playwright-cache.outputs.cache-hit != 'true' | |
# Lint: | |
- name: Lint | |
working-directory: frontend | |
run: yarn lint:check | |
# Localize: | |
- name: Localization build dry run | |
working-directory: frontend | |
run: yarn localize:build | |
# Test: | |
- name: Unit tests | |
working-directory: frontend | |
run: yarn test | |
# Check build: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
with: | |
driver-opts: network=host | |
- name: Build Frontend | |
uses: docker/build-push-action@v3 | |
with: | |
context: frontend | |
load: true | |
tags: webrecorder/browsertrix-frontend:latest | |
cache-from: type=gha,scope=frontend | |
cache-to: type=gha,scope=frontend,mode=max |