mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Test (federation)
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - master
 | 
						|
      - develop
 | 
						|
    paths:
 | 
						|
      - packages/backend/**
 | 
						|
      - packages/misskey-js/**
 | 
						|
      - .github/workflows/test-federation.yml
 | 
						|
  pull_request:
 | 
						|
    paths:
 | 
						|
      - packages/backend/**
 | 
						|
      - packages/misskey-js/**
 | 
						|
      - .github/workflows/test-federation.yml
 | 
						|
 | 
						|
jobs:
 | 
						|
  test:
 | 
						|
    name: Federation test
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        node-version: [22.11.0]
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
        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.3.0
 | 
						|
        with:
 | 
						|
          node-version: ${{ matrix.node-version }}
 | 
						|
          cache: 'pnpm'
 | 
						|
      - name: Build Misskey
 | 
						|
        run: |
 | 
						|
          pnpm i --frozen-lockfile
 | 
						|
          pnpm build
 | 
						|
      - name: Setup
 | 
						|
        run: |
 | 
						|
          cd packages/backend/test-federation
 | 
						|
          bash ./setup.sh
 | 
						|
          sudo chmod 644 ./certificates/*.test.key
 | 
						|
      - name: Start servers
 | 
						|
        id: start_servers
 | 
						|
        continue-on-error: true
 | 
						|
        # https://github.com/docker/compose/issues/1294#issuecomment-374847206
 | 
						|
        run: |
 | 
						|
          cd packages/backend/test-federation
 | 
						|
          docker compose up -d --scale tester=0
 | 
						|
      - name: Print start_servers error
 | 
						|
        if: ${{ steps.start_servers.outcome == 'failure' }}
 | 
						|
        run: |
 | 
						|
          cd packages/backend/test-federation
 | 
						|
          docker compose logs | tail -n 300
 | 
						|
          exit 1
 | 
						|
      - name: Test
 | 
						|
        id: test
 | 
						|
        continue-on-error: true
 | 
						|
        run: |
 | 
						|
          cd packages/backend/test-federation
 | 
						|
          docker compose run --no-deps tester
 | 
						|
      - name: Log
 | 
						|
        if: ${{ steps.test.outcome == 'failure' }}
 | 
						|
        run: |
 | 
						|
          cd packages/backend/test-federation
 | 
						|
          docker compose logs
 | 
						|
          exit 1
 | 
						|
      - name: Stop servers
 | 
						|
        run: |
 | 
						|
          cd packages/backend/test-federation
 | 
						|
          docker compose down
 |