Skip to content

Soak test: verify CI reliability (DO NOT MERGE) #4052

Soak test: verify CI reliability (DO NOT MERGE)

Soak test: verify CI reliability (DO NOT MERGE) #4052

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
jobs:
Lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 22.x
uses: actions/setup-node@v1.4.4
with:
node-version: 24
- run: npm i && npm run lint
PrepareSupportedVersions:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v2
- name: Use Node.js 22.x
uses: actions/setup-node@v1.4.4
with:
node-version: 24
- id: set-matrix
run: |
node -e "
const v = require('./lib/version').testedVersions;
const groups = [];
const SIZE = 4;
for (let i = 0; i < v.length; i += SIZE) {
groups.push({ versions: v.slice(i, i + SIZE).join(' ') });
}
console.log('matrix='+JSON.stringify({'include': groups}))
" >> $GITHUB_OUTPUT
MinecraftServer:
needs: PrepareSupportedVersions
runs-on: ubuntu-latest
name: MC ${{ matrix.versions }}
strategy:
matrix: ${{ fromJson(needs.PrepareSupportedVersions.outputs.matrix) }}
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Use Node.js 22.x
uses: actions/setup-node@v1.4.4
with:
node-version: 24
- name: Setup Java JDK
uses: actions/setup-java@v1.4.3
with:
java-version: 21
java-package: jre
- name: Install Dependencies
run: npm install
- name: Start Tests
run: |
exit_code=0
pids=""
for v in ${{ matrix.versions }}; do
npm run mocha_test -- --retries 3 -g "${v}v" > "test-${v}.log" 2>&1 &
pids="$pids $!"
done
for pid in $pids; do
wait $pid || exit_code=$?
done
# Print logs sequentially with clear headers
for v in ${{ matrix.versions }}; do
echo ""
echo "=========================================="
echo " Results for Minecraft ${v}"
echo "=========================================="
cat "test-${v}.log"
done
exit $exit_code