Add GitHub Actions CI running tests and the server check on Linux, macOS and Windows

Open
#10 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
68/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, javascript, node.js
Domain
ci-cd, testing

Research direction

Read package.json scripts and scripts/check.mjs, then add .github/workflows/ci.yml to run npm test and npm run check on Ubuntu, macOS, and Windows with Node 20 and 22. Check server/index.mjs for Windows failures and fix them or file follow-up issues; add a CI badge to README.md. Done when the matrix runs both suites and the README links to the workflow.

Written by the indexing model from the issue text.

Description

help wanted platform tests

The repo has no .github/ directory, so nothing runs on pull requests. Two existing suites need nothing beyond Node:

  • npm test: unit tests against scripted fake APIs
  • npm run check: starts a throwaway server and drives the HTTP API

Several bugs in this backlog would have been caught by a matrix:

  • npm test fails outright on Node 20, the documented minimum (see the Node 20 issue)
  • path handling differs on Windows: serveFile uses resolve and sep, and --open shells out to cmd /c start

Task:

  • add .github/workflows/ci.yml running npm test and npm run check on ubuntu-latest, macos-latest and windows-latest × Node 20 and 22
  • no secrets: both suites already strip API-key env vars (scripts/check.mjs:17)
  • add a CI badge to the README
  • if the Node 20 test-script fix hasn't landed yet, include it or base the PR on it
  • fix whatever fails on Windows, or open follow-up issues for it

Where: new .github/workflows/ci.yml; package.json:9-14; scripts/check.mjs; server/index.mjs:57-68 (serveFile), server/index.mjs:160-163 (--open); README.md:12-19 (badges).


Getting started: Node 22, no npm install needed: git clone, then npm test and npm run check. Comment here to claim it. Questions → Discord.

Dominant language
JavaScript
Stars
42
Forks
6
Avg merge
12h 31m
Merged PRs (30d)
3

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from blixvip/GenMotion

All issues in blixvip/GenMotion

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.