- Migrated from Black to Ruff for formatting and linting
- Added
ruffas dev dependency via poetry - Created comprehensive
ruff.tomlconfiguration - Fixed all import ordering issues (I001 errors)
- Updated type annotations from
Optional[X]toX | None(UP045) - Updated type annotations from
typing.Dicttodict(UP035, UP006) - Fixed LDAP import checks to use
importlib.util.find_spec - Removed unused
ldap.modlistimport - All ruff checks passing:
poetry run ruff check django_forms_workflows/ - All ruff format checks passing:
poetry run ruff format --check django_forms_workflows/
- Removed all "Campus Cafe" references from codebase
- Updated
django_forms_workflows/models.py- changed example from 'campus_cafe' to 'external_db' - Updated
django_forms_workflows/migrations/0003_postsubmissionaction.py- same change - Updated
docs/PREFILL_SOURCES.md:- Changed "Student First Name from Campus Database" to "Employee First Name from External Database"
- Changed database alias from 'campus_cafe' to 'hr_database'
- Changed database name from 'CampusCafe' to 'HRDatabase'
- Changed table from 'STBIOS' to 'EMPLOYEES'
- Changed lookup field from 'ID_NUMBER' to 'EMPLOYEE_ID'
- Updated
docs/POST_SUBMISSION_ACTIONS.md- changed "student records in campus database" to "customer records in external database" - Verified no "campus" references remain in package:
tar -tzf dist/django_forms_workflows-0.2.2.tar.gz | grep -i "campus"
- Updated
.github/workflows/ci.ymlto use Ruff instead of Black/isort/flake8 - Simplified lint job from 3 tools to 2 ruff commands
- Fixed deprecated
actions/upload-artifact@v3tov4 - CI workflow now runs:
ruff format --check django_forms_workflows/ruff check django_forms_workflows/
- Updated version to 0.2.2 in all files:
django_forms_workflows/__init__.pysetup.pypyproject.toml
- Updated
CHANGELOG.mdwith v0.2.2 changes - Updated version comparison links in CHANGELOG.md
- Author email verified:
matt@opensensor.io
- Built package:
poetry build - Twine check passed:
poetry run twine check dist/* - Verified version in package: 0.2.2
- Verified author in package: Matt Davis matt@opensensor.io
- Verified no campus references in package
- Package sizes:
- Wheel:
django_forms_workflows-0.2.2-py3-none-any.whl - Source:
django_forms_workflows-0.2.2.tar.gz
- Wheel:
-
Commit all changes:
git add -A git commit -m "Release v0.2.2: Code quality improvements and client reference cleanup" git push origin main -
Create and push tag:
git tag -a v0.2.2 -m "Release version 0.2.2" git push origin v0.2.2 -
GitHub Actions will automatically:
- Run all CI checks (tests, linting, build)
- Build the package
- Publish to PyPI (requires
PYPI_API_TOKENsecret to be configured) - Create GitHub Release
-
Upload to PyPI:
poetry run twine upload dist/django_forms_workflows-0.2.2*(Enter your PyPI API token when prompted)
-
Create GitHub release:
- Go to https://github.com/opensensor/django-forms-workflows/releases/new
- Tag:
v0.2.2 - Title:
v0.2.2 - Code Quality Improvements - Copy release notes from CHANGELOG.md
If you haven't already set up the GitHub secret for automated PyPI publishing:
-
Create project-scoped token on PyPI:
- Go to https://pypi.org/manage/account/token/
- Click "Add API token"
- Token name:
django-forms-workflows-github-actions - Scope: "Project: django-forms-workflows" (now available since package exists)
- Copy the token (starts with
pypi-)
-
Add to GitHub Secrets:
- Go to https://github.com/opensensor/django-forms-workflows/settings/secrets/actions
- Click "New repository secret"
- Name:
PYPI_API_TOKEN - Value: (paste the token)
- Click "Add secret"
-
Test automated workflow:
- Push a tag:
git push origin v0.2.2 - Watch the workflow: https://github.com/opensensor/django-forms-workflows/actions
- Push a tag:
Version: 0.2.2
Type: Patch release
Focus: Code quality improvements and cleanup
Key Changes:
- Migrated to Ruff for faster, more comprehensive linting
- Removed all client-specific references
- Improved code quality with modern Python type annotations
- Simplified CI pipeline
Breaking Changes: None
Migration Required: No
- Ruff Integration: Faster linting and formatting (10-100x faster than Black+isort+flake8)
- Modern Type Hints: Updated to use PEP 604 union syntax (
X | Noneinstead ofOptional[X]) - Cleaner Imports: All imports properly sorted and organized
- Better LDAP Checks: More robust availability checking using
importlib.util.find_spec
- Generic Examples: All documentation now uses generic, non-client-specific examples
- No Functional Changes: This is purely a code quality release
After successful release:
- Verify package on PyPI: https://pypi.org/project/django-forms-workflows/0.2.2/
- Test installation:
pip install django-forms-workflows==0.2.2 - Verify GitHub release created
- Update any external documentation if needed
- Announce release (if applicable)
- Package v0.2.0 was published with incorrect author email
- Package v0.2.1 corrected the author email
- Package v0.2.2 adds code quality improvements and removes client references
- All three versions are available on PyPI
- Ruff configuration is in
ruff.tomlfor consistency across development environments