Skip to content

make reflex and reflex base tied#6379

Merged
adhami3310 merged 1 commit intomainfrom
make-reflex-and-reflex-base-tied
Apr 24, 2026
Merged

make reflex and reflex base tied#6379
adhami3310 merged 1 commit intomainfrom
make-reflex-and-reflex-base-tied

Conversation

@adhami3310
Copy link
Copy Markdown
Member

No description provided.

@adhami3310 adhami3310 requested a review from a team as a code owner April 24, 2026 00:27
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 24, 2026

Greptile Summary

This PR removes reflex as an independently dispatchable package and instead ties it to reflex-base: whenever reflex-base is released via dispatch, reflex is automatically released at the same version. The publish.yml workflow is updated to pin reflex-base to the exact matching version in pyproject.toml before building the reflex wheel.

Confidence Score: 5/5

Safe to merge; the only finding is a minor sed-delimiter robustness concern that would cause a workflow failure (not silent data corruption) under highly unlikely tag names.

All changes are in CI/release automation. The logic is clean: reflex-base releases automatically carry reflex at the same version, and the publish step pins the dependency before building. The one P2 comment is a theoretical robustness issue with PEP 440-compliant version strings in practice.

No files require special attention.

Important Files Changed

Filename Overview
.github/scripts/dispatch_release/detect.sh Removes reflex from the dispatch MAP and ORDER, preventing it from being independently selected for release dispatch.
.github/scripts/dispatch_release/plan.py Adds post-loop logic to automatically include a reflex release entry whenever reflex-base is released, using the same version number.
.github/workflows/dispatch_release.yml Removes the reflex boolean input, changes the default action to continued-prerelease to prevent accidental releases.
.github/workflows/publish.yml Adds run-name, extracts version output from parsed tags, and introduces a step to pin reflex-base to an exact version in pyproject.toml before building the reflex wheel. Minor sed-delimiter robustness concern.

Sequence Diagram

sequenceDiagram
    actor Dev
    participant Dispatch as dispatch_release.yml
    participant Detect as detect.sh
    participant Plan as plan.py
    participant Publish as publish.yml
    participant PyPI

    Dev->>Dispatch: trigger (select reflex-base)
    Dispatch->>Detect: run with env vars
    Detect-->>Dispatch: PACKAGES_JSON (includes reflex-base, excludes reflex)
    Dispatch->>Plan: run with PACKAGES_JSON
    Plan->>Plan: compute next version for reflex-base
    Plan->>Plan: auto-add reflex entry at same version
    Plan-->>Dispatch: releases JSON matrix

    Dispatch->>Publish: trigger via release tag vX.Y.Z
    Publish->>Publish: parse tag → package=reflex, version=X.Y.Z
    Publish->>Publish: sed pyproject.toml reflex-base >= * → reflex-base == X.Y.Z
    Publish->>Publish: uv build (pinned wheel)
    Publish->>PyPI: uv publish dist/*
Loading

Reviews (1): Last reviewed commit: "make reflex and reflex base tied" | Re-trigger Greptile

Comment thread .github/workflows/publish.yml
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 24, 2026

Merging this PR will not alter performance

✅ 9 untouched benchmarks


Comparing make-reflex-and-reflex-base-tied (168aa94) with main (ab3550b)

Open in CodSpeed

@adhami3310 adhami3310 merged commit d3d5bfb into main Apr 24, 2026
68 of 69 checks passed
@adhami3310 adhami3310 deleted the make-reflex-and-reflex-base-tied branch April 24, 2026 03:01
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