Skip to content

refactor(tools): make tools.json the only source for tool data #10

refactor(tools): make tools.json the only source for tool data

refactor(tools): make tools.json the only source for tool data #10

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
# The parser and lint engine carry the safety-relevant logic and have no GUI
# dependencies, so they run on a bare interpreter — fast, and green or red for
# real reasons rather than for a missing Qt platform plugin.
core:
name: Core tests (no GUI)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Run GUI-free tests
run: python -m unittest tests.test_lint_engine tests.test_gcode_parser tests.test_reference tests.test_arc_geometry tests.test_tool_data -v
gui:
name: GUI-backed tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install runtime dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install Qt system libraries
run: |
sudo apt-get update
sudo apt-get install -y libegl1 libgl1 libxkbcommon-x11-0 \
libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 \
libxcb-render-util0 libxcb-shape0 libxcb-xinerama0 libxcb-cursor0
- name: Run tests that need PyQt6
env:
QT_QPA_PLATFORM: offscreen
run: python -m unittest tests.test_tool_model tests.test_arc_rendering -v