feat: enhance CI/CD workflows for package building and release#6
Merged
DrWheelicus merged 4 commits intodevfrom Feb 15, 2026
Merged
feat: enhance CI/CD workflows for package building and release#6DrWheelicus merged 4 commits intodevfrom
DrWheelicus merged 4 commits intodevfrom
Conversation
- Added a new job to the Python CI workflow for building the package and uploading artifacts. - Introduced a new release workflow for publishing to PyPI and creating GitHub releases upon version tag pushes. - Updated Python version to 3.13 in the CI workflow for compatibility with the latest features.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
Co-authored-by: Hayden MacIntyre <DrWheelicus@users.noreply.github.com>
Modified the 'github-release' job to depend on both 'ci' and 'publish-pypi' jobs, ensuring that the release process waits for successful completion of both prior jobs before proceeding.
DrWheelicus
added a commit
that referenced
this pull request
Feb 15, 2026
* chore: rename project to Encoderize for package upload Updates project name from Name Visualizer to Encoderize. This change reflects a broader scope of functionality, encompassing various encoding methods for generating visual representations of text. Updates documentation, CLI entry point, package name, tests, and setup configuration to reflect the new name. Also bumps the minimum Python version to 3.8. * feat: add issue and pull request templates * chore: remove issue and pull request templates from GitHub workflows Moves issue and PR templates out of workflows The issue and pull request templates are not workflow specific and should reside in the root .github directory. This change moves them to the appropriate location. * chore: update GitHub Actions workflow Renames the workflow to "Python Encoderize" and adds a step to upload coverage reports to Codecov. This enhances the CI process by integrating coverage tracking. * chore: enhance GitHub Actions workflow for Python CI Adds support for multiple Python versions (3.9, 3.10, 3.11) using a matrix strategy. Updates the setup step to cache pip dependencies and includes coverage report generation with pytest. This improves the CI process by ensuring compatibility across different Python versions and integrating coverage tracking. Enhances Python CI workflow Adds support for multiple Python versions (3.9, 3.10, 3.11) using a matrix strategy. Caches pip dependencies to speed up the CI process. Includes coverage report generation with pytest and uploads to Codecov. This improves CI by ensuring compatibility across different Python versions and integrating coverage tracking. * chore: update GitHub Actions workflow to allow all branch pushes to trigger it * docs: update README to include badges for Codecov, PyPI, and downloads * chore: update GitHub Actions workflow to use Codecov v5 and improve coverage report handling Changes the Codecov action version to v5 and updates the upload step to include the necessary token and slug for better integration. This enhances the coverage reporting process in the CI workflow. * docs: update Codecov badge in README to include token for improved tracking * chore: update Python version matrix in GitHub Actions workflow Adds Python 3.8 to the matrix of supported versions in the CI workflow, ensuring compatibility with an earlier version of Python. * chore: update setuptools version constraints in pyproject.toml Modifies the setuptools requirement to specify version constraints based on Python version, ensuring compatibility with Python 3.8. * Restricts push branch and adds license classifier Restricts the push branch to main in the GitHub Actions workflow to prevent accidental deployments from other branches. Adds "License :: OSI Approved :: MIT License" classifier to setup.py to clarify the project's licensing. * chore: update Python version matrix in GitHub Actions workflow to include 3.12 and 3.13 Expands the supported Python versions in the CI workflow to include 3.12 and 3.13, ensuring compatibility with the latest Python releases. * chore: update dependencies in requirements.txt and GitHub Actions workflow * chore: adjust coverage dependency versions in requirements.txt for Python compatibility Updates the coverage package requirements to specify different versions based on the Python version, ensuring compatibility with Python 3.8 * chore: adjust docutils dependency versions in requirements.txt for Python compatibility Modifies the docutils package requirements to specify different versions based on the Python version, ensuring compatibility with Python 3.8 * chore: adjust keyring dependency versions in requirements.txt for Python compatibility Modifies the keyring package requirements to specify different versions based on the Python version, ensuring compatibility with Python 3.8 * chore: adjust pillow dependency versions in requirements.txt for Python compatibility Modifies the pillow package requirements to specify different versions based on the Python version, ensuring compatibility with Python 3.8 * chore: add linting and testing job to CI Adds a new job to the CI workflow that runs flake8 to lint the code. Also adds a version constraint for setuptools to ensure compatibility with Python 3.8 * chore: adjust treepoem dependency versions in requirements.txt for Python compatibility Modifies the treepoem package requirements to specify different versions based on the Python version, ensuring compatibility with Python 3.8 * chore: reorganize CI workflow for improved linting and testing Refactors the GitHub Actions workflow to enhance the linting and testing process. This includes setting up Python, installing dependencies, and running flake8 for linting and pytest for testing with coverage reporting. The changes ensure a more structured and efficient CI pipeline. * chore: update Python version in CI workflow to 3.13 Changes the Python version in the GitHub Actions workflow from '3.x' to '3.13' to ensure the CI pipeline uses the latest stable release. * chore: add CONTRIBUTING.md and update README for clarity and structure Introduces a new CONTRIBUTING.md file to guide users on reporting bugs, suggesting enhancements, and submitting pull requests. Updates the README.md to improve formatting, enhance feature descriptions, and clarify usage instructions, including example visualizations and options for generating outputs. * chore: simplify README layout by removing unnecessary div tags * feat(docs): add centered logo and improve README layout (#5) * feat(docs): add centered logo and improve README layout - Add Encoderize logo centered at top of README - Center status badges using HTML alignment Co-authored-by: Cursor <cursoragent@cursor.com> * chore: update .gitignore to exclude svg_out directory - Added svg_out*/ to .gitignore to prevent SVG output files from being tracked. --------- Co-authored-by: Cursor <cursoragent@cursor.com> * feat: enhance project documentation and configuration (#7) * docs: add security policy and vulnerability reporting guidelines * feat: add dark mode logo support to README * docs: add release process documentation for maintainers * chore: centralize version management in __init__.py * chore: add CODEOWNERS file to define repository ownership * chore: update .gitignore to exclude editor and environment files * feat: enhance CI/CD workflows for package building and release (#6) * feat: enhance CI/CD workflows for package building and release - Added a new job to the Python CI workflow for building the package and uploading artifacts. - Introduced a new release workflow for publishing to PyPI and creating GitHub releases upon version tag pushes. - Updated Python version to 3.13 in the CI workflow for compatibility with the latest features. * fix(release): inherit secrets when calling CI workflow Co-authored-by: Hayden MacIntyre <DrWheelicus@users.noreply.github.com> * chore(release): update job dependencies in release workflow Modified the 'github-release' job to depend on both 'ci' and 'publish-pypi' jobs, ensuring that the release process waits for successful completion of both prior jobs before proceeding. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Hayden MacIntyre <DrWheelicus@users.noreply.github.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Hayden MacIntyre <DrWheelicus@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Add comprehensive CI/CD improvements including automated package building and PyPI release workflows with trusted publishing support.
Fixes #(N/A - Infrastructure improvement)
Type of Change
Checklist
How Has This Been Tested?
Screenshots (if applicable)
N/A - Workflow changes
Additional Context
This PR adds:
Made with Cursor
Note
Medium Risk
Changes affect release automation and publishing permissions (PyPI trusted publishing/OIDC), so misconfiguration could cause failed or unintended releases, but no application runtime logic changes.
Overview
Adds
workflow_callsupport to the main CI workflow and introduces a dedicatedbuild_packagejob that builds the Python distribution and uploadsdist/as an artifact.Introduces a new tag-triggered
release.ymlworkflow that reuses the CI workflow, publishes the built artifacts to PyPI via trusted publishing (OIDCid-token), and then creates a GitHub Release attaching the samedist/*artifacts.Written by Cursor Bugbot for commit 02f6aab. This will update automatically on new commits. Configure here.