Skip to content

Commit 48c3ca7

Browse files
authored
Improve CI per version setup (#3256)
- use +v to select the version properly (eg don't run all 1.19.x for 1.19) - run on all tested versions specified in version.js
1 parent 70a652e commit 48c3ca7

File tree

4 files changed

+26
-24
lines changed

4 files changed

+26
-24
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,42 +17,44 @@ jobs:
1717
with:
1818
node-version: 18.x
1919
- run: npm i && npm run lint
20+
21+
PrepareSupportedVersions:
22+
runs-on: ubuntu-latest
23+
outputs:
24+
matrix: ${{ steps.set-matrix.outputs.matrix }}
25+
26+
steps:
27+
- uses: actions/checkout@v2
28+
- name: Use Node.js 18.x
29+
uses: actions/[email protected]
30+
with:
31+
node-version: 18.x
32+
- id: set-matrix
33+
run: |
34+
node -e "
35+
const testedVersions = require('./lib/version').testedVersions;
36+
console.log('matrix='+JSON.stringify({'include': testedVersions.map(mcVersion => ({mcVersion}))}))
37+
" >> $GITHUB_OUTPUT
2038
2139
MinecraftServer:
40+
needs: PrepareSupportedVersions
2241
runs-on: ubuntu-latest
2342
strategy:
24-
matrix:
25-
javaVersion: [1.8]
26-
mcVersion: ['1.8.8', '1.9.4', '1.10.2', '1.11.2', '1.12.2', '1.13.2', '1.14.4', '1.15.2', '1.16.5']
27-
include:
28-
- javaVersion: 16
29-
mcVersion: '1.17.1'
30-
- javaVersion: 17
31-
mcVersion: '1.18.2'
32-
- javaVersion: 17
33-
mcVersion: '1.19'
34-
- javaVersion: 17
35-
mcVersion: '1.19.2'
36-
- javaVersion: 17
37-
mcVersion: '1.19.3'
38-
- javaVersion: 17
39-
mcVersion: '1.19.4'
40-
- javaVersion: 17
41-
mcVersion: '1.20.1'
43+
matrix: ${{fromJson(needs.PrepareSupportedVersions.outputs.matrix)}}
4244
fail-fast: false
4345

4446
steps:
4547
- uses: actions/checkout@v2
46-
- name: Use Node.js ${{ matrix.node-version }}
48+
- name: Use Node.js 18.x
4749
uses: actions/[email protected]
4850
with:
4951
node-version: 18.x
5052
- name: Setup Java JDK
5153
uses: actions/[email protected]
5254
with:
53-
java-version: ${{ matrix.javaVersion }}
55+
java-version: 17
5456
java-package: jre
5557
- name: Install Dependencies
5658
run: npm install
5759
- name: Start Tests
58-
run: npm run mocha_test -- -g ${{ matrix.mcVersion }}
60+
run: npm run mocha_test -- -g ${{ matrix.mcVersion }}v

lib/version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module.exports = {
22
supportedVersions: ['1.8', '1.9', '1.10', '1.11', '1.12', '1.13', '1.14', '1.15', '1.16', '1.17', '1.18', '1.19', '1.20'],
33
testedVersions: ['1.8.8', '1.9.4', '1.10.2', '1.11.2', '1.12.2', '1.13.2', '1.14.4', '1.15.2', '1.16.5', '1.17.1', '1.18.2', '1.19', '1.19.2', '1.19.3', '1.19.4', '1.20.1']
4-
} // when updating testedVersions, make sure to update CI.yml
4+
}

test/externalTest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ for (const supportedVersion of mineflayer.testedVersions) {
4444
console.log(line)
4545
})
4646

47-
describe(`mineflayer_external ${version.minecraftVersion}`, function () {
47+
describe(`mineflayer_external ${supportedVersion}v`, function () {
4848
let bot
4949
this.timeout(10 * 60 * 1000)
5050
before(async function () {

test/internalTest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ for (const supportedVersion of mineflayer.testedVersions) {
3939
}
4040
}
4141

42-
describe(`mineflayer_internal ${version.minecraftVersion}`, function () {
42+
describe(`mineflayer_internal ${supportedVersion}v`, function () {
4343
this.timeout(10 * 1000)
4444
let bot
4545
let server

0 commit comments

Comments
 (0)