Add GitHub Actions Workflow for Build & Release, Update Project Metadata, and Publish to PyPI #14
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.
Description
This PR introduces a GitHub Actions workflow to automate the build and release process for the
gaussdb,gaussdb-pool, andisort-gaussdbpackages. It updates project metadata inpyproject.tomlandREADME.rstfiles to correct URLs, descriptions, and version numbers. Additionally, the packages have been successfully published to PyPI, making them available for installation viapip. The changes streamline the release process, improve documentation consistency, and ensure accessibility via PyPI.Changes Made
release.yml):.github/workflows/release.ymlto automate building and releasing wheel files forgaussdb,gaussdb-pool, andisort-gaussdb.v*.*.*(e.g.,v1.0.0.dev2).setuptools,wheel,build).gaussdb,gaussdb_pool, andtools/isort-gaussdbdirectories.all_dist/.softprops/action-gh-release@v1.gaussdb/pyproject.toml:1.0.0.dev1to1.0.0.dev2.psycopg.orginstead ofgaussdb.org.gaussdb-c,gaussdb-binary).tools/bump_version.pyis used.gaussdb_pool/pyproject.toml:psycopg.orgfor consistency.gaussdb/README.rst:tools/isort-gaussdb/README.rst:https://www.huaweicloud.com/product/gaussdb.html.Why
gaussdbto1.0.0.dev2reflects ongoing development and aligns with the latest changes.psycopg.orgaligns with the upstreampsycopg3project (as these packages appear to be forks or rebrands). The Huawei Cloud GaussDB link inisort-gaussdbpoints to the correct product page.pip install, simplifying installation.tools/bump_version.py.Testing
python -m buildingaussdb,gaussdb_pool, andtools/isort-gaussdb.*.whl) were generated indist/directories.gaussdb_poolandisort_gaussdb.v1.0.0.dev2-test) to a test branch to trigger the workflow.all_dist/.aarch64):py3-none-anywheels are compatible and install correctly from both local files and PyPI.psycopg.org,huaweicloud.com) are accessible.README.rstrenders correctly with updated text.Additional Notes
tools/bump_version.pyis used for future version updates to maintain consistency acrosspyproject.tomlfiles.psycopg3. Consider clarifying this relationship in the repository description or documentation.py3-none-anywheels are platform-independent, suitable for EulerOS (x86_64/ARM). If native extensions are added later, ensure x86_64/ARM compatibility./opt/gaussdb_driver) and--extra-index-urlwarnings. Using--no-indexfor local installs or PyPI avoids these. Runpip config unset global.extra-index-urlif warnings persist.To install the packages from PyPI:
python3 -m venv myvenv source myvenv/bin/activate pip install --upgrade pip pip install isort-gaussdb pip install gaussdb pip install gaussdb-poolRelease Commands
To create and push a release tag for
v1.0.0.dev2:This triggers the
Build and Releaseworkflow, building and uploading the wheels to a GitHub Release. The wheels are already published to PyPI, so no additional PyPI upload is needed unless further changes are made.