node-minecraft-protocol/.github/workflows/ci.yml
Romain Beaumont 1740124c47
Improve CI setup for per version tests (#1267)
* Improve CI setup: move lint out of per version

* fix

* Simplify go back to all per version.

* refactor cycle test to use supported versions

* fix cycle packet test

* Add v to version to avoid 1.19 running every 1.19 minor.

* Add quotes.

* Use versions from js file in ci.yml

* Fix ci.yml syntax.

* Fix matrix read.

* fix

* fix

* fix gitignore
2023-12-28 00:12:23 +01:00

60 lines
1.4 KiB
YAML

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
Lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 18.x
uses: actions/setup-node@v1.4.4
with:
node-version: 18.x
- 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 18.x
uses: actions/setup-node@v1.4.4
with:
node-version: 18.x
- id: set-matrix
run: |
node -e "
const supportedVersions = require('./src/version').supportedVersions;
console.log('matrix='+JSON.stringify({'include': supportedVersions.map(mcVersion => ({mcVersion}))}))
" >> $GITHUB_OUTPUT
test:
needs: PrepareSupportedVersions
runs-on: ubuntu-latest
strategy:
matrix: ${{fromJson(needs.PrepareSupportedVersions.outputs.matrix)}}
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Use Node.js 18.x
uses: actions/setup-node@v1
with:
node-version: 18.x
- name: Setup Java JDK
uses: actions/setup-java@v1.4.3
with:
java-version: '17'
distribution: 'adopt'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm run mochaTest -- -g ${{ matrix.mcVersion }}v