Skip to content

Added tag-driven release process - #58

Open
joshterrill wants to merge 8 commits into
masterfrom
josh/0.6.1-release
Open

Added tag-driven release process#58
joshterrill wants to merge 8 commits into
masterfrom
josh/0.6.1-release

Conversation

@joshterrill

@joshterrill joshterrill commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Combines two in-flight branches into a single 0.6.1 release line:

  • josh/python3.14-upgrade — tag-driven release workflow, RELEASING.md,
    CI hygiene, refreshed poetry.lock, and a cast fix in variance_normalize
    for mypy.

Note: Python 3.14 was already supported and already in the test matrix as of
#56. This PR does not add 3.14 support — it quotes the matrix entries so YAML
parses them as strings, and advertises the supported versions via trove
classifiers.

Release process

  • deploy now triggers on tags instead of every push to master. Release
    tags are bare version numbers (0.6.1, 0.6.1.dev0); a v prefix is matched
    only so the new verify-tag job can fail with an explanatory error.
  • New verify-tag job checks that the tag matches pyproject.toml's version,
    and that final (non-pre-release) tags point at a commit on master.
  • deploy is gated on both verify-tag and the full test matrix, so a red
    suite on the tagged commit blocks the upload. No --skip-existing: a
    duplicate version is a mistake worth failing on.
  • RELEASING.md documents the whole flow.

CI hygiene

  • Quote python-version matrix entries (3.11"3.11") so YAML doesn't
    parse them as floats.
  • Bump actions/checkout v2 → v6 and actions/setup-python v4 → v6.
  • Add Programming Language :: Python :: 3.113.14 classifiers.

Verification

  • pytest — 73 passed
  • mypy numerai_tools — no issues
  • ruff check / ruff format --check — clean

ndharasz and others added 4 commits July 30, 2026 23:57
Combines the Python 3.14 support work with the configurable
neutralization power changes. Version stays at 0.6.1.dev0 so the
release goes out as a PEP 440 pre-release.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@joshterrill joshterrill changed the title 0.6.1 release: Python 3.14 support + configurable neutralization power 0.6.1 release: tag-driven release process + configurable neutralization power Aug 10, 2026
joshterrill and others added 3 commits August 11, 2026 14:49
Reverts the changes merged in 30aec1a from t-239-neutralization-power.
The version bump in pyproject.toml is untouched, so the release branch
stays at 0.6.1.dev*.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@joshterrill joshterrill changed the title 0.6.1 release: tag-driven release process + configurable neutralization power 0.6.1 release: tag-driven release process Aug 12, 2026
@joshterrill joshterrill changed the title 0.6.1 release: tag-driven release process Added tag-driven release process Aug 12, 2026
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.

2 participants