Skip to content

fix(deps): update all non-major dependencies #7426

fix(deps): update all non-major dependencies

fix(deps): update all non-major dependencies #7426

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
types: [opened, edited, synchronize, reopened]
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
target: [frontend, backend, backend-admin]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-pnpm
- name: Generate Prisma Client
if: ${{ matrix.target == 'backend' || matrix.target == 'backend-admin' }}
run: pnpm --filter="@codedang/backend" exec prisma generate
- name: Setup Next.js build cache
if: ${{ matrix.target == 'frontend' }}
uses: actions/cache@v4
with:
path: apps/frontend/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-
- name: Load Next.js environment
if: ${{ matrix.target == 'frontend' }}
run: |
echo "NEXT_PUBLIC_BASEURL=https://stage.codedang.com/api" >> apps/frontend/.env
echo "NEXT_PUBLIC_GQL_BASEURL=https://stage.codedang.com/graphql" >> apps/frontend/.env
echo "NEXT_URL=https://stage.codedang.com" >> apps/frontend/.env
- name: Build (backend admin)
if: ${{ matrix.target == 'backend-admin' }}
run: pnpm --filter="@codedang/backend" build admin
- name: Build
if: ${{ matrix.target != 'backend-admin' }}
run: pnpm --filter="apps/${{ matrix.target }}" build
typecheck:
name: Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-pnpm
- name: Generate Prisma Client
run: pnpm --filter="@codedang/backend" exec prisma generate
- name: Check types (backend) # For spec files
run: pnpm --filter="@codedang/backend" exec tsc --noEmit
# Typecheck is not performed for frontend intentionally.
# Check: https://github.com/vercel/next.js/issues/53959
# Unlike backend, we don't have spec file to check types.
# So typechecking performed in the build step is enough.
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-pnpm
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: apps/iris/go.mod
cache-dependency-path: apps/iris/go.sum
- name: Lint pull request title
if: ${{ github.event_name == 'pull_request' }}
run: echo "${{ github.event.pull_request.title }}" | pnpm commitlint --verbose
- name: Check style (Node.js)
run: pnpm format:check
- name: Check Style (Go)
run: |
if [ -n "$(gofmt -l .)" ]; then
echo "Go files must be formatted with gofmt. Please run:"
echo " go fmt ./..."
exit 1
fi
working-directory: ./apps/iris
- name: Lint (Node.js)
run: pnpm lint
test:
name: Test
runs-on: ubuntu-latest
env:
DATABASE_URL: postgresql://postgres:1234@localhost:5432/skkuding?schema=public
TEST_DATABASE_URL: postgresql://postgres:1234@localhost:5432/skkuding?schema=public
services:
postgres:
image: postgres:16-alpine
ports:
- 5432:5432
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: 1234
POSTGRES_DB: skkuding
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-pnpm
- name: Check Prisma Migration
run: |
pnpm --filter="@codedang/backend" exec prisma migrate diff \
--from-migrations ./prisma/migrations \
--to-schema-datamodel ./prisma/schema.prisma \
--shadow-database-url ${{ env.DATABASE_URL }} \
--exit-code ||
(echo "::error::Prisma migration is not up to date." \
"Please run 'pnpm prisma migrate dev' locally and commit the changes." && exit 1)
- name: Migrate Prisma
run: pnpm --filter="@codedang/backend" exec prisma migrate reset --force
- name: Test
run: pnpm -r test