60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
name: bedrock-ci
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 14
|
|
|
|
steps:
|
|
- name: Use Node.js 22.x
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 22.x
|
|
# Old versions of bedrock use old libssl that Ubuntu no longer ships with; need manual install
|
|
- name: Install libssl 1.1
|
|
run: |
|
|
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
|
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
|
- name: Checkout node-minecraft-data
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: PrismarineJS/node-minecraft-data
|
|
submodules: recursive
|
|
path: node-mcdata
|
|
# Erase the submodule for minecraft-data with a checkout of the current minecraft-data repo
|
|
- run: rm -rf node-mcdata/minecraft-data
|
|
- name: Checkout minecraft-data
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: node-mcdata/minecraft-data
|
|
# Now install local node-minecraft-data. Running "prepare" should gen data and types
|
|
- name: Install minecraft-data
|
|
run: |
|
|
cd node-mcdata
|
|
npm install
|
|
npm run prepare
|
|
npm link
|
|
- name: Checkout bedrock-protocol
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: PrismarineJS/bedrock-protocol
|
|
path: bedrock-protocol
|
|
# I forget the correct install order, do both
|
|
- name: Install bedrock-protocol
|
|
run: |
|
|
cd bedrock-protocol
|
|
npm install ../node-mcdata
|
|
npm i
|
|
npm install ../node-mcdata
|
|
- name: Running bedrock-protocol tests
|
|
run: |
|
|
curl -o node_modules/protodef/src/serializer.js https://raw.githubusercontent.com/extremeheat/node-protodef/refs/heads/dlog/src/serializer.js && curl -o node_modules/protodef/src/compiler.js https://raw.githubusercontent.com/extremeheat/node-protodef/refs/heads/dlog/src/compiler.js
|
|
npm test
|
|
working-directory: bedrock-protocol
|