Skip to content

Phase 1.3: CI/CD Modernization#108

Merged
oberstet merged 7 commits intocrossbario:masterfrom
oberstet:modernization-phase-1.3
Dec 4, 2025
Merged

Phase 1.3: CI/CD Modernization#108
oberstet merged 7 commits intocrossbario:masterfrom
oberstet:modernization-phase-1.3

Conversation

@oberstet
Copy link
Contributor

@oberstet oberstet commented Dec 2, 2025

Description

See issue #107


Related Issue(s)

Closes or relates to #107


Checklist

  • I have referenced relevant issue numbers above
  • I have performed a self-review of my code and it follows
    the style guidelines of this project
  • I have added new or used existing tests that prove my fix
    is effective or that my feature works
  • I have added necessary documentation (if appropriate) and
    updated the changelog
  • I have added an AI assistance disclosure file (required!)
    in this PR

Phase 1.3: CI/CD Modernization - Replace mypy with Astral's Rust-based
ty type checker for better PyPy compatibility and faster execution.

Changes:
- Add identifiers job using wamp-cicd reusable workflow
- Update setup-uv from v5 to v6, setup-just from v2 to v3
- Add submodules: recursive to all checkout steps
- Add ty installation step to main.yml workflow
- Update justfile check-typing recipe to use ty instead of mypy
- Remove mypy from install-tools and pyproject.toml dev dependencies
- Remove [tool.mypy] section from pyproject.toml
- Add .mypy_cache/ and .ty/ cleanup to clean-test recipe
- Add py.typed marker file for PEP 561 compliance
- Add comprehensive --ignore flags to suppress existing type errors

Note: This work was completed with AI assistance (Claude Code).
Fix identifiers job to reference wamp-proto/wamp-cicd (public repo)
instead of crossbario/wamp-cicd (doesn't exist).

Note: This work was completed with AI assistance (Claude Code).
Add verify-dist recipe as an alias for verify-wheels to match
the recipe name expected by release.yml workflow.

Note: This work was completed with AI assistance (Claude Code).
Update setup-uv from v5 to v6 and setup-just from v2 to v3
for consistency with main.yml.

Note: This work was completed with AI assistance (Claude Code).
Add condition to only run release workflow when triggered by
main workflow on master branch, not on PR branches. This prevents
release.yml from failing on PRs where the code changes haven't
been merged to master yet.

Note: This work was completed with AI assistance (Claude Code).
- Remove head_branch == 'master' workaround from identifiers job
- Reorder jobs: check-main-workflow first, then identifiers
- Add proper if condition on identifiers based on should_proceed
- Add github.event_name checks to release job conditions
- Update needs order to [check-main-workflow, identifiers]
- Add explanatory comments for identifiers workflow usage

This aligns cfxdb with the standard workflow model used by
autobahn-python, zlmdb, txaio, and crossbar. The workflow_run
trigger inherently prevents PR-triggered releases since PRs
don't trigger workflow_run events for security reasons.

Note: This work was completed with AI assistance (Claude Code).
@oberstet oberstet merged commit ee9648d into crossbario:master Dec 4, 2025
8 checks passed
@oberstet oberstet mentioned this pull request Dec 5, 2025
13 tasks
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