Repository navigation
ci: fix CI and the PyPI release (no commit to protected main); Python matrix, Dependabot - #4
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Unused collections.abc.Awaitable import (F401) and a 104-character method signature (E501). CI's Lint step has failed on main since 2026-09-14. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ode/sdk-python The CI badge and the PyPI Repository / Issues links used github.com/norbix-dev/norbix-python, which is not this repository. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…endabot - release.yml: python-semantic-release pushed a chore(release) commit to main, which MainBranchProtectionRuleSet rejects (GH013) — every release since 2026-06 failed there. It now runs `semantic-release version --no-commit --no-changelog --push`: stamps the version into the working tree, builds, tags the current commit, pushes only the tag and creates the GitHub Release, then `uv publish` (with --check-url so re-runs are safe). Verified in a scratch clone: builds norbix-1.2.0 with Version 1.2.0 and __version__ = "1.2.0". Also: lint + typecheck before releasing, sync to the branch tip, a workflow_dispatch republish=true recovery path, and the v0.0.0 bootstrap step removed (tags exist). - ci.yml: Python 3.10 / 3.12 / 3.13 matrix and a wheel contents check. - Actions: checkout v7, setup-uv v10, setup-python v7. - dependabot.yml: weekly uv + GitHub Actions updates. - CHANGELOG.md: points to GitHub Releases. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
setup-uv no longer publishes a moving major tag (v10 does not exist), so every job failed in 'Set up job'. Dependabot keeps the exact version current. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Both CI and Release have failed on every push to
mainsince 2026-09-14 (Release since June), so nothing has been published since 1.1.1 (April). This fixes both, using the approach from the TS, .NET, CLI and Swift repos. It replaces #3.Commits
docs(from docs: use norbix.ai homepage instead of norbix.dev #3):norbix.dev→norbix.aihomepage.style(webhooks): the 2 ruff errors that failed CI's Lint step (an unusedAwaitableimport and a 104-character line inwebhooks/receiver.py).docs(readme): the CI badge and PyPIRepository/IssuesURLs pointed atgithub.com/norbix-dev/norbix-python, which isn't this repo. They now point atnorbix-code/sdk-python.ci: release fix, Python matrix, Dependabot.chore(release)commit tomain, whichMainBranchProtectionRuleSetrejects (GH013). The job now runssemantic-release version --no-commit --no-changelog --push. That stamps the version into the job's working tree, builds, tags the current commit, pushes only the tag, and creates the GitHub Release. Thenuv publishuploads to PyPI, with--check-urlso a re-run never double-uploads.norbix-1.2.0with wheelVersion: 1.2.0and__version__ = "1.2.0", and tagged without a commit.workflow_dispatchrepublish=truerecovery path that builds and uploads the latest tag. Thev0.0.0bootstrap step is gone (tags exist).ci.yml: Python 3.10 / 3.12 / 3.13 (3.10 and 3.13 checked locally: tests + mypy pass) plus a wheel contents check.dependabot.yml: weeklyuv+ GitHub Actions updates.CHANGELOG.mdpoints to GitHub Releases.Trade-off:
versioninpyproject.tomlonmainstays at 1.1.1; the tag and PyPI are the source of truth.Release
mainalready hasfeat:commits since v1.1.1, so the merge releases 1.2.0 whatever the merge method.Test plan
ruff check,mypy src,pytest(595 passed) locally; tests + mypy also on Python 3.10 and 3.13maincheckout: next version 1.2.0, tag + tag-only push + GitHub Release, no commitnorbix1.2.0 on PyPI, tagv1.2.0, GitHub Release🤖 Generated with Claude Code