mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-11-17 09:18:31 +01:00
feat: Add ID tests to CI (#456)
* tools: Add script to run ID tests * ci: Add game ID tests * tools/id-tests: Import games directly from file * ci/id: Update ID tests to official repo * ci/id: Cache rust deps even if tests fail * Add newlines
This commit is contained in:
parent
6ecb809512
commit
68f9c01886
2 changed files with 54 additions and 0 deletions
36
.github/workflows/id-tests.yml
vendored
Normal file
36
.github/workflows/id-tests.yml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
name: ID tests
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "lib/games.js"
|
||||
- ".github/workflows/id-tests.yml" # This action
|
||||
pull_request:
|
||||
paths:
|
||||
- "lib/games.js"
|
||||
- ".github/workflows/id-tests.yml" # This action
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.x
|
||||
|
||||
- name: Cache rust dependencies
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
cache-on-failure: 'true'
|
||||
|
||||
- name: Install ID tester
|
||||
run: cargo install --git https://github.com/gamedig/rust-gamedig.git gamedig-id-tests
|
||||
|
||||
- name: Run ID tests
|
||||
run: node tools/run-id-tests.js
|
18
tools/run-id-tests.js
Normal file
18
tools/run-id-tests.js
Normal file
|
@ -0,0 +1,18 @@
|
|||
import { spawnSync } from 'node:child_process';
|
||||
import process from 'node:process';
|
||||
|
||||
// Import directly from file so that this script works without dependencies installed.
|
||||
import { games } from './../lib/games.js';
|
||||
|
||||
const ID_TEST_BIN = process.env["GAMEDIG_ID_TESTER"] || "gamedig-id-tests";
|
||||
|
||||
const result = spawnSync(ID_TEST_BIN, {
|
||||
input: JSON.stringify(games),
|
||||
stdio: ['pipe', 'inherit', 'inherit'],
|
||||
});
|
||||
|
||||
if (result.error) {
|
||||
throw result.error;
|
||||
}
|
||||
|
||||
process.exit(result.status);
|
Loading…
Reference in a new issue