Skip to content

Make and follow skins and drinks on Profile, and sign in with their codes #524

Make and follow skins and drinks on Profile, and sign in with their codes

Make and follow skins and drinks on Profile, and sign in with their codes #524

Workflow file for this run

name: Build
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-24.04
timeout-minutes: 30
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-node@v7
with:
node-version: '22'
cache: npm
cache-dependency-path: frontend/package-lock.json
- uses: actions/setup-python@v7
with:
python-version: '3.12'
cache: pip
cache-dependency-path: backend/requirements*.txt
- name: Install frontend dependencies
working-directory: frontend
run: npm ci --no-audit --no-fund
- name: Install backend dependencies
run: python -m pip install -r backend/requirements.txt -r backend/requirements-dev.txt
- name: Lint frontend
working-directory: frontend
run: npm run lint
- name: Check frontend formatting
if: ${{ !cancelled() }}
working-directory: frontend
run: npm run format:check
- name: Test frontend
working-directory: frontend
run: npm test -- --reporter=default --reporter=junit --outputFile.junit=../test-results/frontend.xml
- name: Test backend
if: ${{ !cancelled() }}
working-directory: backend
run: python -m pytest -q --junitxml=../test-results/backend.xml
- name: Upload test reports
if: ${{ !cancelled() && hashFiles('test-results/*.xml') != '' }}
uses: actions/upload-artifact@v7
with:
name: test-reports-${{ github.run_id }}-${{ github.run_attempt }}
path: test-results/*.xml
if-no-files-found: error
- name: Cache Next.js build data
uses: actions/cache@v6
with:
path: frontend/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('frontend/package-lock.json') }}-${{ hashFiles('frontend/app/**', 'frontend/components/**', 'frontend/lib/**', 'frontend/public/**', 'frontend/next.config.*', 'frontend/tsconfig*.json', 'shared/**') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('frontend/package-lock.json') }}-
- name: Build frontend
working-directory: frontend
env:
NEXT_TELEMETRY_DISABLED: '1'
PS_PRODUCTION: '1'
NEXT_PUBLIC_API_URL: http://127.0.0.1:8000
run: npm run build