Skip to content

Infra updates - #46

Merged
awdeorio merged 4 commits into
developfrom
infra-updates
Jun 9, 2026
Merged

awdeorio merged 4 commits into
developfrom
infra-updates

Conversation

@awdeorio

@awdeorio awdeorio commented Jun 9, 2026 •

Copy link
Copy Markdown
Contributor

Modernize packaging and CI

Closes #42.

Replaces setup.py with pyproject.toml (PEP 517/518) and modernizes the supporting build, test, and CI configuration. Along the way, fixes a few failures caused by newer versions of click and pylint so the suite is green again.

Packaging (#42)

  • Add pyproject.toml with the setuptools build backend. Migrates all metadata from setup.py, declares runtime dependencies, the agio console script, and a single consolidated dev extra (the old dev and test extras are merged, matching the sibling madoop repo).
  • Remove setup.py.
  • MANIFEST.in: include *.md so the docs ship in the sdist, and drop a stale include test line. check-manifest passes.
  • Update the release procedure in CONTRIBUTING.md: edit and grep pyproject.toml instead of setup.py, and build with python -m build instead of python setup.py sdist bdist_wheel.

Python versions and CI

  • requires-python = ">=3.10", dropping end-of-life Python versions and matching the floor used in mailmerge.
  • Zero-maintenance CI version handling: the matrix runs ["3.x"] (always the latest Python) and the job runs tox -e py3. This drops tox-gh-actions and the hardcoded [gh-actions] version map, so no file needs editing when a new Python is released.
  • tox.ini: envlist = py3; the lint and test commands are unchanged.
  • Bump GitHub Actions: actions/checkout@v4, actions/setup-python@v5, and codecov/codecov-action@v4 (now passing token and slug).
  • Fix an inaccurate workflow comment ("push to master" to "push to main or develop").

Dependency-drift fixes

These are unrelated to packaging but were breaking the suite with current dependency versions:

  • tests/test_cli.py: drop mix_stderr=False, removed from CliRunner in click 8.3 (separate stdout/stderr is now the default).
  • agiocli/api_client.py: use yield from in get_paginated (pylint use-yield-from).
  • agiocli/__main__.py: add too-many-positional-arguments to the existing pylint disables on the Click subcommands.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 72.70%. Comparing base (2dd78fc) to head (09c0489).

Files with missing lines Patch % Lines
agiocli/api_client.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop      #46      +/-   ##
===========================================
+ Coverage    72.55%   72.70%   +0.15%     
===========================================
  Files            4        4              
  Lines          481      480       -1     
===========================================
  Hits           349      349              
+ Misses         132      131       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@awdeorio
awdeorio merged commit 6f53c09 into develop Jun 9, 2026
1 of 2 checks passed
@awdeorio
awdeorio deleted the infra-updates branch June 9, 2026 14:01
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.

Replace setup.py with pyproject.toml

2 participants