From f2c0bc84e35981502baf798709e7540be7a44733 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Jul 2026 19:56:29 +0000 Subject: [PATCH 1/2] chore(deps-dev): bump ty from 0.0.17 to 0.0.63 Bumps [ty](https://github.com/astral-sh/ty) from 0.0.17 to 0.0.63. - [Release notes](https://github.com/astral-sh/ty/releases) - [Changelog](https://github.com/astral-sh/ty/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ty/compare/0.0.17...0.0.63) --- updated-dependencies: - dependency-name: ty dependency-version: 0.0.63 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0905fe7..b03c5bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -95,7 +95,7 @@ testpaths = [ [dependency-groups] dev = [ - "ty==0.0.17", + "ty==0.0.63", "ruff==0.15.1", "pytest==9.0.3", "pytest-cov==7.1.0", From f3b6e04a3b83dda245b692dc60251f269abc29b6 Mon Sep 17 00:00:00 2001 From: Justin Bollinger Date: Mon, 27 Jul 2026 13:53:36 -0400 Subject: [PATCH 2/2] build: unblock ty 0.0.63 dep bump ty 0.0.63 changed two things that broke CI on this bump: - new rules (unsupported-operator, no-matching-overload, invalid-assignment, unresolved-global) are error-severity by default and fire on the same legacy module-globals pattern in hate_crack/main.py the existing "warn" rules were pinned for; downgrade them to match. - default exit behaviour now fails on warning-level diagnostics; pass --exit-zero-on-warning to ty check in CI and in the pre-push prek hook to restore the prior fail-only-on-errors semantics. No source changes; deferring the main.py globals refactor. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/ci.yml | 6 +++++- prek.toml | 2 +- pyproject.toml | 7 +++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 91178d0..8435624 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,11 @@ jobs: run: uv run ruff format --check hate_crack - name: Ty - run: uv run ty check hate_crack + # ty 0.0.63 fails CI on warning-level diagnostics by default; + # keep the pre-0.0.63 behaviour of failing only on errors so the + # rules already downgraded to "warn" in [tool.ty.rules] stay + # non-blocking. + run: uv run ty check --exit-zero-on-warning hate_crack - name: Pytest env: diff --git a/prek.toml b/prek.toml index 9ce02d2..d19c5c8 100644 --- a/prek.toml +++ b/prek.toml @@ -22,7 +22,7 @@ always_run = true [[repos.hooks]] id = "ty" name = "ty" -entry = "uv run ty check hate_crack" +entry = "uv run ty check --exit-zero-on-warning hate_crack" language = "system" stages = ["pre-push"] pass_filenames = false diff --git a/pyproject.toml b/pyproject.toml index 1964d00..0f245e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,6 +87,13 @@ unresolved-import = "warn" # BeautifulSoup union types and module-level globals unresolved-attribute = "warn" invalid-argument-type = "warn" +# ty 0.0.63 tightened these to error for the same legacy pattern +# (module-level `hcatHashFile = None` etc. in main.py, later used as +# strings). Downgrade to warn to match the rest. +unsupported-operator = "warn" +no-matching-overload = "warn" +invalid-assignment = "warn" +unresolved-global = "warn" [tool.pytest.ini_options] testpaths = [