-
Notifications
You must be signed in to change notification settings - Fork 52
chore: add publish script and update license headers #253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Add scripts/publish.sh for PyPI publishing workflow - Update Makefile with publish-related commands - Update scripts/update_license_headers.py - Remove redundant packages/data-designer/README.md - Remove scripts/test_license_headers.py - Update .gitignore
| - name: Copy README to data-designer package | ||
| run: cp README.md packages/data-designer/README.md |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to be the price that needs to be paid to have the top-level README be the same as the one that publishes with the full library pypi.
| echo "Usage: $0 <version> [options]" | ||
| echo "" | ||
| echo "Publish all DataDesigner packages to PyPI with synchronized versions." | ||
| echo "" | ||
| echo "Arguments:" | ||
| echo " version Version to publish (e.g., 0.3.9 or 0.3.9rc1)" | ||
| echo "" | ||
| echo "Options:" | ||
| echo " -h, --help Show this help message and exit" | ||
| echo " --dry-run Build packages and run validation (twine check) but don't" | ||
| echo " create tags or upload. Good for CI validation." | ||
| echo " --test-pypi Upload to TestPyPI (test.pypi.org) instead of production PyPI." | ||
| echo " Useful for testing the full upload flow safely." | ||
| echo " --allow-branch Allow publishing from non-main branches" | ||
| echo " --force-tag Overwrite existing git tag if it exists" | ||
| echo "" | ||
| echo "Examples:" | ||
| echo " $0 0.3.9rc1 # Full publish to PyPI" | ||
| echo " $0 0.3.9rc1 --dry-run # Validate only (build + twine check)" | ||
| echo " $0 0.3.9rc1 --test-pypi # Upload to TestPyPI" | ||
| echo " $0 0.3.9rc1 --test-pypi --allow-branch # Test from feature branch" | ||
| echo " $0 0.3.9rc1 --force-tag # Overwrite existing tag" | ||
| echo "" | ||
| echo "Version format:" | ||
| echo " Valid: 0.3.9, 0.3.9rc1, 1.0.0rc2" | ||
| echo " Invalid: v0.3.9, 0.3.9-rc1, 0.3.9a1" | ||
| exit "$exit_code" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
usage outlined here
π Summary
Adds a comprehensive publish script for releasing DataDesigner packages to PyPI, along with improvements to license header tooling and build configuration.
π Changes
β¨ Added
scripts/publish.sh- Full-featured publish script with:make publish VERSION=X.Y.Z).gitignoreentry for auto-generatedpackages/data-designer/README.mdπ§ Changed
scripts/update_license_headers.py- Enhanced to support additional comment styles (shell scripts, Makefiles)Makefile- Addedbuild-interfacestep to copy top-level README for PyPI displayποΈ Removed
scripts/test_license_headers.py- Removed redundant test file (899 lines)packages/data-designer/README.md- Now auto-generated from top-level README during build (added to .gitignore)π Attention Areas
scripts/publish.sh- New 587-line publish script with git tagging and PyPI upload logicbuild-interfacetarget ensures PyPI gets the full project documentationπ€ Generated with AI