mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-23 09:44:51 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			129 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Test (backend)
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - master
 | |
|       - develop
 | |
|     paths:
 | |
|       - packages/backend/**
 | |
|       # for permissions
 | |
|       - packages/misskey-js/**
 | |
|       - .github/workflows/test-backend.yml
 | |
|       - .github/misskey/test.yml
 | |
|   pull_request:
 | |
|     paths:
 | |
|       - packages/backend/**
 | |
|       # for permissions
 | |
|       - packages/misskey-js/**
 | |
|       - .github/workflows/test-backend.yml
 | |
|       - .github/misskey/test.yml
 | |
| jobs:
 | |
|   unit:
 | |
|     name: Unit tests (backend)
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     strategy:
 | |
|       matrix:
 | |
|         node-version: [22.11.0]
 | |
| 
 | |
|     services:
 | |
|       postgres:
 | |
|         image: postgres:15
 | |
|         ports:
 | |
|           - 54312:5432
 | |
|         env:
 | |
|           POSTGRES_DB: test-misskey
 | |
|           POSTGRES_HOST_AUTH_METHOD: trust
 | |
|       redis:
 | |
|         image: redis:7
 | |
|         ports:
 | |
|           - 56312:6379
 | |
| 
 | |
|     steps:
 | |
|     - uses: actions/checkout@v4.2.2
 | |
|       with:
 | |
|         submodules: true
 | |
|     - name: Setup pnpm
 | |
|       uses: pnpm/action-setup@v4.1.0
 | |
|     - name: Install FFmpeg
 | |
|       run: |
 | |
|         for i in {1..3}; do
 | |
|           echo "Attempt $i: Installing FFmpeg..."
 | |
|           curl -s -L https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz -o ffmpeg.tar.xz && \
 | |
|           tar -xf ffmpeg.tar.xz && \
 | |
|           mv ffmpeg-*-static/ffmpeg /usr/local/bin/ && \
 | |
|           mv ffmpeg-*-static/ffprobe /usr/local/bin/ && \
 | |
|           rm -rf ffmpeg.tar.xz ffmpeg-*-static/ && \
 | |
|           break || sleep 10
 | |
|           if [ $i -eq 3 ]; then
 | |
|             echo "Failed to install FFmpeg after 3 attempts"
 | |
|             exit 1
 | |
|           fi
 | |
|         done
 | |
|     - name: Use Node.js ${{ matrix.node-version }}
 | |
|       uses: actions/setup-node@v4.4.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 .github/misskey/test.yml .config
 | |
|     - name: Build
 | |
|       run: pnpm build
 | |
|     - name: Test
 | |
|       run: pnpm --filter backend test-and-coverage
 | |
|     - name: Upload to Codecov
 | |
|       uses: codecov/codecov-action@v5
 | |
|       with:
 | |
|         token: ${{ secrets.CODECOV_TOKEN }}
 | |
|         files: ./packages/backend/coverage/coverage-final.json
 | |
| 
 | |
|   e2e:
 | |
|     name: E2E tests (backend)
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     strategy:
 | |
|       matrix:
 | |
|         node-version: [22.11.0]
 | |
| 
 | |
|     services:
 | |
|       postgres:
 | |
|         image: postgres:15
 | |
|         ports:
 | |
|           - 54312:5432
 | |
|         env:
 | |
|           POSTGRES_DB: test-misskey
 | |
|           POSTGRES_HOST_AUTH_METHOD: trust
 | |
|       redis:
 | |
|         image: redis:7
 | |
|         ports:
 | |
|           - 56312:6379
 | |
| 
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4.2.2
 | |
|         with:
 | |
|           submodules: true
 | |
|       - name: Setup pnpm
 | |
|         uses: pnpm/action-setup@v4.1.0
 | |
|       - name: Use Node.js ${{ matrix.node-version }}
 | |
|         uses: actions/setup-node@v4.4.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 .github/misskey/test.yml .config
 | |
|       - name: Build
 | |
|         run: pnpm build
 | |
|       - name: Test
 | |
|         run: pnpm --filter backend test-and-coverage:e2e
 | |
|       - name: Upload to Codecov
 | |
|         uses: codecov/codecov-action@v5
 | |
|         with:
 | |
|           token: ${{ secrets.CODECOV_TOKEN }}
 | |
|           files: ./packages/backend/coverage/coverage-final.json
 |