It's not possible to use v4, as action-setup doesn't have v4 tag, and unlike GitHub Actions, Forgejo Actions doesn't try to automatically convert refs like v4 into full tags like v4.0.0.
126 lines
3.1 KiB
YAML
126 lines
3.1 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
|
|
ports:
|
|
- 54312:5432
|
|
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
|
|
ports:
|
|
- 56312:6379
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: true
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4.0.0
|
|
with:
|
|
run_install: false
|
|
- name: Install FFmpeg
|
|
uses: 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.yml .config
|
|
- 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
|
|
ports:
|
|
- 54312:5432
|
|
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
|
|
ports:
|
|
- 56312:6379
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
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.yml .config
|
|
- name: Build
|
|
run: pnpm build
|
|
- name: Test
|
|
run: pnpm --filter backend test:e2e
|