Skip to content

Fix 218 - #219

Merged
oberstet merged 4 commits into
crossbario:masterfrom
oberstet:fix_218
Jun 18, 2026
Merged

Fix 218#219
oberstet merged 4 commits into
crossbario:masterfrom
oberstet:fix_218

Conversation

@oberstet

Copy link
Copy Markdown
Contributor

fixes #218

oberstet added 4 commits June 18, 2026 09:24
…o#218)

Coordinated WAMP 26.6.1 release-train sync:

- Bump .ai submodule bfb4804 -> 4669dc8 (docs: README/justfile).
- Bump .cicd submodule 08c9305 -> f77ca2b: picks up the GHSA-6658
  shell-injection hardening in the shared identifiers.yml reusable
  workflow (untrusted event fields passed via env: with a fail-closed
  branch-name allowlist), plus release-notes/changelog scripts and the
  verified-artifact actions used by crossbario#212. identifiers.yml is consumed
  via @main, so the fix is already live at runtime; this aligns the
  pinned pointer and the local .cicd scripts for reproducibility.
- Bump version 25.12.2 -> 26.6.1 (pyproject.toml, src/txaio/_version.py).
- Add 26.6.1 changelog section.

No caller changes required: the identifiers.yml interface is unchanged
and the workflow structure already matches zlmdb/autobahn-python.

Note: This work was completed with AI assistance (Claude Code).
The .cicd submodule bump (08c9305 -> f77ca2b) added shared scripts,
including .cicd/scripts/git_version.py, which uses a substituted
__git_version__ placeholder that trips ruff F821 ("undefined name").
The check-format recipe runs `ruff check .`, which traversed into the
submodule and failed CI.

These submodules carry their own source with their own linting/CI and
are not txaio source, so exclude them via a top-level [tool.ruff]
extend-exclude (file-discovery exclude; the [tool.ruff.lint] exclude
does not affect traversal). This keeps F821 and the other checks active
for txaio's own code, rather than globally suppressing F821 as a
workaround.

Note: This work was completed with AI assistance (Claude Code).
…rossbario#218)

The newer ty on CI (0.0.50 vs a stale local 0.0.44) flagged tx.py:297:
globalLogBeginner.beginLoggingTo(_observers) — `list[_LogObserver]` not
assignable to `Iterable[ILogObserver]`. _LogObserver provides ILogObserver
via zope.interface's @Provider, which static checkers cannot follow.

Tooling (mirrors zlmdb so local and CI track the same latest ty):
- Declare `ty>=0.0.44` in the [dev] extra ("follow latest", unpinned) and
  run it from the venv (`${VENV_PATH}/bin/ty`) instead of a global install.
- check-typing now depends on install-tools (which provides ty) + install
  (which provides twisted stubs).
- Drop the global `uv tool install ty` step (and the `ty --version` check)
  from the quality job in main.yml.

Fix:
- Localized `cast(ILogObserver, _observer)` in tx.py, keeping ty's
  invalid-argument-type rule active elsewhere (txaio keeps a tighter ignore
  set than autobahn/zlmdb, which blanket-ignore this rule).

Verified locally with ty 0.0.50 on cpy311 (twisted installed):
`just check-typing cpy311` -> All checks passed; `ruff check .` clean.

Note: This work was completed with AI assistance (Claude Code).
@oberstet
oberstet merged commit 9fbd478 into crossbario:master Jun 18, 2026
7 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.

[CHORE] Release 26.6.1: sync wamp-ai / wamp-cicd submodules + version bump

1 participant