Skip to content

add CI for auto releasing internal packages#6357

Open
adhami3310 wants to merge 6 commits intomainfrom
add-CI-for-auto-releasing-internal-packages
Open

add CI for auto releasing internal packages#6357
adhami3310 wants to merge 6 commits intomainfrom
add-CI-for-auto-releasing-internal-packages

Conversation

@adhami3310
Copy link
Copy Markdown
Member

No description provided.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 22, 2026

Merging this PR will not alter performance

✅ 9 untouched benchmarks


Comparing add-CI-for-auto-releasing-internal-packages (bf38be8) with main (ccd497c)

Open in CodSpeed

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 22, 2026

Greptile Summary

This PR adds CI infrastructure for automatically releasing two internal packages (reflex-components-internal and reflex-site-shared): a detection + versioning + release workflow (auto_release_internal.yml), a build-validation workflow (build_packages.yml), and a fix to publish.yml to check out the correct tagged commit before building.

  • P1: uv publish dist/* in publish.yml (line 66) always resolves against the workspace root, but uv build --directory packages/<pkg> places artifacts at packages/<pkg>/dist/ — sub-package publishes will fail with a glob-no-match error or publish a stale root artifact.

Confidence Score: 4/5

Safe to merge after fixing the publish path bug; all other changes are infrastructure scaffolding.

One confirmed P1 bug: uv publish dist/* will fail for every sub-package publish because the dist output lives in the subdirectory, not the workspace root. The rest of the workflow logic (version bumping, concurrency group, ref checkout fix) looks correct.

publish.yml line 66 — incorrect glob path for sub-package artifacts.

Important Files Changed

Filename Overview
.github/workflows/auto_release_internal.yml New workflow to auto-detect changed packages, bump patch versions, create releases, and dispatch publish; concurrency guard added for race prevention.
.github/workflows/build_packages.yml New workflow that builds all packages (including sub-packages) on PR and push to main; straightforward matrix build using uv.
.github/workflows/publish.yml Adds ref checkout fix for tagged builds; introduces P1 bug where uv publish dist/* won't find sub-package artifacts built with --directory.
packages/reflex-components-internal/pyproject.toml New sub-package with dynamic versioning tied to reflex-components-internal- tag prefix; standard hatch/uv-dynamic-versioning setup.
packages/reflex-site-shared/pyproject.toml New sub-package with dynamic versioning tied to reflex-site-shared- tag prefix; mirrors reflex-components-internal setup with additional httpx/email-validator deps.

Sequence Diagram

sequenceDiagram
    participant Push as Push to main
    participant Detect as detect job
    participant Release as release job (matrix)
    participant GH as GitHub Releases API
    participant Publish as publish.yml workflow
    participant PyPI as PyPI

    Push->>Detect: trigger (paths filter)
    Detect->>Detect: git diff HEAD~1 HEAD → changed packages
    Detect-->>Release: packages=[...] matrix
    Release->>Release: git tag -l → compute next patch version
    Release->>GH: gh release create pkg-vN --target SHA
    Release->>Publish: gh workflow run publish.yml -f tag=pkg-vN
    Publish->>Publish: checkout ref=tag
    Publish->>Publish: uv build --directory packages/pkg
    Publish->>Publish: uv publish dist/* ⚠️ wrong path for sub-packages
    Publish->>PyPI: publish wheel
Loading

Comments Outside Diff (1)

  1. .github/workflows/publish.yml, line 66 (link)

    P1 uv publish looks in wrong directory for sub-packages

    uv build --directory places artifacts inside the subdirectory's own dist/ folder (e.g. packages/reflex-components-internal/dist/), but uv publish dist/* always looks at the workspace-root dist/. For any non-root package this glob will either match nothing (empty dir) or publish the wrong artifact.

Reviews (3): Last reviewed commit: "fetch tag ref" | Re-trigger Greptile

Comment thread .github/workflows/auto_release_internal.yml
Comment thread .github/workflows/auto_release_internal.yml
@adhami3310
Copy link
Copy Markdown
Member Author

@greptile

Comment thread .github/workflows/auto_release_internal.yml
@adhami3310
Copy link
Copy Markdown
Member Author

@greptile

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.

1 participant