chore(deps): update dependency vite to v6 #9803
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: CI | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
tests-without-docker: | |
name: Tests without PostgreSQL and MySQL, then exec Next.js export on Node ${{ matrix.node }} and ${{ matrix.os }} | |
if: ${{ !contains(github.event.head_commit.message, '[light ci]') }} | |
strategy: | |
matrix: | |
node: ['18.x', '20.x', '22.x'] | |
os: [ubuntu-22.04] | |
include: | |
- node: '18.x' | |
os: 'windows-2019' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: yarn | |
- run: node --version | |
- run: yarn | |
- run: yarn build | |
- name: Test | |
run: yarn test-ci | |
env: | |
REDIS_TEST: 0 | |
MYSQL_TEST: 0 | |
POSTGRESQL_TEST: 0 | |
tests-with-docker: | |
name: 'Full tests on ${{ matrix.container }} and Codecov' | |
if: ${{ !contains(github.event.head_commit.message, '[light ci]') }} | |
strategy: | |
matrix: | |
container: | |
# bullseye-slim だと `gpg: not found` というエラーが出て Codecov にアップロードできない。別途 gpg をインストールする手もあるが、現状は Codecov にアップロードする際は bullseye を用いている。 | |
[ | |
'node:18-bullseye', | |
'node:18-bullseye-slim', | |
'node:20-bullseye-slim', | |
'node:22-bookworm-slim', # Dockerfile で用いられるイメージ。 | |
] | |
runs-on: ubuntu-22.04 | |
container: ${{ matrix.container }} | |
services: | |
mysql: | |
image: mysql:8.4 | |
env: | |
MYSQL_ROOT_PASSWORD: root_password | |
MYSQL_USER: test | |
MYSQL_PASSWORD: test | |
MYSQL_DATABASE: test | |
options: >- | |
--health-cmd "mysqladmin ping" | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 3306:3306 | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: test | |
POSTGRES_PASSWORD: test | |
POSTGRES_DB: test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
redis: | |
image: redis | |
options: >- | |
--health-cmd "redis-cli ping" | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- run: node --version | |
- run: yarn | |
- run: yarn build | |
- name: Migration-up MySQL | |
run: yarn migration-up --db mysql | |
working-directory: ./apps/api-server | |
env: | |
MYSQL: > | |
{ | |
"clientUrl": "mysql://test:test@mysql:3306/test" | |
} | |
- name: Migration-up PostgreSQL | |
run: yarn migration-up --db postgresql | |
working-directory: ./apps/api-server | |
env: | |
POSTGRESQL: > | |
{ | |
"clientUrl": "postgresql://test:test@postgres:5432/test" | |
} | |
- name: Test | |
run: yarn test-ci | |
- name: Upload coverages to Codecov | |
if: ${{ matrix.container == 'node:18-bullseye' }} | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
# 以下のテストを行っている。PnP モードありでのテストは現在行っていない。 | |
# - DATABASE_URL を用いて API サーバーが起動することの確認 | |
# - AUTO_MIGRATION が正常に動くことの確認 | |
check-api-server: | |
name: 'Check API server (PnP=${{ matrix.pnp }})' | |
strategy: | |
matrix: | |
pnp: [false] | |
runs-on: ubuntu-22.04 | |
container: node:18-bullseye-slim | |
services: | |
mysql: | |
image: mysql:8.4 | |
env: | |
MYSQL_ROOT_PASSWORD: root_password | |
MYSQL_USER: test | |
MYSQL_PASSWORD: test | |
MYSQL_DATABASE: test | |
options: >- | |
--health-cmd "mysqladmin ping" | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 3306:3306 | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: test | |
POSTGRES_PASSWORD: test | |
POSTGRES_DB: test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- run: node --version | |
- name: Enable PnP | |
run: "sed -i 's/nodeLinker: node-modules//g' ./.yarnrc.yml" | |
if: ${{ matrix.pnp == true }} | |
- run: cat ./.yarnrc.yml | |
- run: yarn | |
- run: yarn build | |
- name: Try starting api-server with SQLite | |
run: timeout -k 3 10 yarn start || if test $? -eq 124; then echo OK; else exit $?; fi | |
working-directory: ./apps/api-server | |
env: | |
DATABASE_URL: file://main.sqlite3 | |
AUTO_MIGRATION: true | |
FIREBASE_PROJECT_ID: test-firebase-id-1234 | |
- name: Try starting api-server with MySQL | |
run: timeout -k 3 10 yarn start || if test $? -eq 124; then echo OK; else exit $?; fi | |
working-directory: ./apps/api-server | |
env: | |
DATABASE_URL: mysql://test:test@mysql:3306/test | |
AUTO_MIGRATION: true | |
FIREBASE_PROJECT_ID: test-firebase-id-1234 | |
- name: Try starting api-server with PostgreSQL | |
run: timeout -k 3 10 yarn start || if test $? -eq 124; then echo OK; else exit $?; fi | |
working-directory: ./apps/api-server | |
env: | |
DATABASE_URL: postgresql://test:test@postgres:5432/test | |
AUTO_MIGRATION: true | |
FIREBASE_PROJECT_ID: test-firebase-id-1234 | |
# fails on windows because it uses crlf | |
check-format: | |
name: Check lint, prettier, and sort-package-json | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
cache: yarn | |
- run: yarn | |
- run: yarn build | |
- name: Lint | |
run: yarn lint | |
- name: Prettier(check) | |
run: yarn prettier-check | |
- name: sort-package-json(check) | |
run: yarn sort-package-json --check | |
publish-storybook: | |
name: Publish Storybook to Chromatic | |
if: ${{ !contains(github.event.head_commit.message, '[light ci]') && github.event_name == 'push' }} | |
needs: [tests-with-docker, tests-without-docker] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Requires full git history: https://github.com/chromaui/action#getting-started | |
fetch-depth: 0 | |
- name: Use Node 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
cache: yarn | |
- run: yarn | |
- run: yarn build | |
- name: Publish to Chromatic | |
uses: chromaui/action@latest | |
with: | |
workingDir: ./apps/web-server | |
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} |