forkey/.forgejo/workflows/test-backend.yml
sugar 41a9904932
All checks were successful
Test (production install and build) / production (22.x) (pull_request) Successful in 2m21s
avoid cloning entire repo for actions/checkout
`fetch-depth: 0` is saying to fetch all commits, which we don't really
need test for testing a single commit
2025-01-19 19:43:34 +01:00

116 lines
3 KiB
YAML

name: Test (backend)
on:
push:
branches:
- main
paths:
- packages/backend/**
# for permissions
- packages/misskey-js/**
pull_request:
paths:
- packages/backend/**
# for permissions
- packages/misskey-js/**
jobs:
unit:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.x]
services:
postgres:
image: postgres:15
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
dragonfly:
image: docker.dragonflydb.io/dragonflydb/dragonfly
options: --ulimit "memlock=-1"
env:
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v4.0.0
with:
run_install: false
- name: Install FFmpeg
uses: https://github.com/FedericoCarboni/setup-ffmpeg@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.1.0
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .forgejo/misskey/test-forgejo.yml .config/test.yml
- name: Build
run: pnpm build
- name: Test
run: pnpm --filter backend test
e2e:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.x]
services:
postgres:
image: postgres:15
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
dragonfly:
image: docker.dragonflydb.io/dragonflydb/dragonfly
options: --ulimit "memlock=-1"
env:
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v4.0.0
with:
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.1.0
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .forgejo/misskey/test-forgejo.yml .config/test.yml
- name: Build
run: pnpm build
- name: Test
run: pnpm --filter backend test:e2e