ci: Fix release workflow and pyproject.toml cleanup#450
Merged
Conversation
Contributor
|
📚 Documentation has been built and deployed! View the docs for this PR: https://network-wrangler.github.io/network_wrangler/fix/ci-release-workflow-cleanup/ |
Contributor
Contributor
📊 Benchmark ComparisonComparing PR branch to base branch No previous benchmark found in base branch. This will serve as the baseline. |
lmz
approved these changes
Mar 26, 2026
- Pin Python to 3.13 in prepare-release (avoids fiona/GDAL failures on 3.14) - Use grep/sed for version check instead of importing the package (avoids needing projectcard installed) - Change publish trigger from release:[published] to workflow_run on Prepare Release succeeding - Add checkout step to publish-docs job before local composite action - Fix pyproject.toml: use SPDX license string, remove deprecated license classifier - Switch to setuptools auto-discovery to include all sub-packages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…js actions - Slugify branch name before mike deploy (/ is not a valid version char) - Add branch-slug output to get-branch-name action - Remove continue-on-error from mike deploy so failures are visible - Use branch-slug in PR docs comment URL - Replace redundant actions/cache with setup-uv's built-in caching - Upgrade actions/github-script v7→v8 (Node.js 24) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2553fd5 to
44139ad
Compare
Auto-committing ruff fixes from CI uses GITHUB_TOKEN, which by GitHub's anti-recursion policy does not trigger a follow-up workflow run. That left auto-fix commits on PRs with no CI status. Replace the auto-fix + commit flow with strict `ruff format --check` and `ruff check`. Developers run ruff locally (the pre-commit hook already does this) and push, which triggers CI normally. Also drop the full Python setup for the lint job — just use astral-sh/setup-uv@v5 and invoke ruff via uvx. Lint no longer needs the package's dependencies installed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pd.api.types.is_numeric_dtype returns True for bool dtype (bool is an integer subtype in numpy), so boolean columns like walk_access and rail_only were being routed into the np.isclose path. On pandas 3, where these columns land as the nullable BooleanDtype, np.isclose calls np.isfinite on the extension array and fails with: TypeError: ufunc 'isfinite' not supported for the input types Boolean columns should compare with direct equality anyway. Filter them out of numeric_cols so they fall into the other_cols branch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
📊 Benchmark ComparisonComparing PR branch to base branch No previous benchmark found in base branch. This will serve as the baseline. |
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
prepare-release(fiona has no wheel for Python 3.14)import network_wranglerversion check withgrep/sed(avoids needing all deps installed just to read__version__)publishtrigger fromrelease: [published]toworkflow_runonPrepare Releasecompleting successfully — publish now only runs if the full install test passedactions/checkout@v4topublish-docsjob before calling the local composite action (was failing without it)pyproject.toml: SPDX license string instead of deprecated TOML table, remove deprecated license classifier, switch tosetuptoolsauto-discovery so all sub-packages are includedTest plan
Prepare Releaseruns first andPublish Releaseonly triggers after it succeedspublish-docsjob no longer fails on missing checkout🤖 Generated with Claude Code