Skip to content

Land example-asset upload, CI matrix, and Ruff linting#58

Merged
ulvs merged 5 commits into
masterfrom
land_modernization
Jun 10, 2026
Merged

Land example-asset upload, CI matrix, and Ruff linting#58
ulvs merged 5 commits into
masterfrom
land_modernization

Conversation

@ulvs

@ulvs ulvs commented Jun 10, 2026

Copy link
Copy Markdown
Member

Brings the modernization stack pr2-release-example-assets + pr3-add-ci-and-ruff onto master. Both were merged into their stacked bases (#51, #52) but the final master-bound PR never opened, so this work has been sitting unmerged.

Cherry-picks instead of a stack merge — pr3's bottom commit duplicates #50's packaging work which is already on master, so a direct merge conflicts. The Node-24 actions bump (9259493) overlaps with #55 and was reduced from 8/8 to 3/3 lines on the cherry-pick.

Contents:

  • .github/workflows/ci.yml — Python 3.10–3.14 matrix on PRs and master pushes
  • .github/workflows/release.yml — adds Ruff linting and qtm-rt-examples.zip release-asset upload (zips examples/ + Demo.qtm)
  • MANIFEST.in — controls sdist contents
  • pyproject.toml — Ruff ruleset
  • qtm_rt/__init__.py — drop the dead PYTHON3 Python-2 import gate
  • Ruff style cleanup across qtm_rt/* and test/*
  • Examples (asyncio_everything.py, stream_6dof_example.py) refactored for modern asyncio + the new asset path

Tested: all 81 tests pass locally.

ulvs and others added 5 commits June 10, 2026 23:07
Pin Ruff's effective configuration so a future Ruff upgrade can't
silently change what CI enforces:

- line-length = 88 (current default)
- target-version = py310 (matches requires-python)
- lint.select = current default set (E4, E7, E9, F)

No behaviour change: ruff check . still passes. Comment documents how to
broaden (e.g. I for import sorting, UP for pyupgrade).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Node 20 action runtime is deprecated: GitHub forces Node 24 from
2026-06-16 and removes Node 20 on 2026-09-16. Update to the latest
majors, which run on Node 24:

- actions/checkout        v4 -> v6
- actions/setup-python    v5 -> v6
- actions/upload-artifact v4 -> v7  (release.yml)
- actions/download-artifact v4 -> v8 (release.yml)

upload-artifact v7 and download-artifact v8 co-evolved and remain
compatible; the default zip round-trip used here is unchanged.
pypa/gh-action-pypi-publish is a container action and is unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
push.branches "**" matched every branch, so each commit on a PR branch
triggered both a push run and a pull_request run for the same SHA. Scope
push to master; pull_request already covers all PRs (including forks,
built against the merge result). Branches without an open PR no longer
build until a PR is opened.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ulvs ulvs merged commit 4b59079 into master Jun 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant