Skip to content

refactor: simplify GitHub Actions workflows#45

Merged
AzisK merged 13 commits intomainfrom
refactor-simplify-GitHub-Actions-workflows
Jan 31, 2026
Merged

refactor: simplify GitHub Actions workflows#45
AzisK merged 13 commits intomainfrom
refactor-simplify-GitHub-Actions-workflows

Conversation

@AzisK
Copy link
Owner

@AzisK AzisK commented Jan 27, 2026

  • Rename CI workflow to Tests (ci.yml → tests.yml) and "Publish to PyPI" to "Publish (publish.yml → publish-pypi.yml)
  • Simplify PyPI publish: use uv build/publish instead of pypa action
  • Use ubuntu-slim for publish workflow (no longer needs Docker)
  • Replace explicit Python install with UV_PYTHON env var
  • Update actions/checkout to v6
  • Update README badge URL
  • Remove tests for Python 3.8
  • Support pypy on Windows even if it does not support shutils.disk_usage (displays 0s)
  • Remove argparse from pyproject since it is in the standard lib
  • Create small test and lint groups in pyproject
  • Exclude tests from mypy
  • Improve tests patching

- Rename CI workflow to Tests (ci.yml → tests.yml)
- Simplify PyPI publish: use uv build/publish instead of pypa action
- Use ubuntu-slim for publish workflow (no longer needs Docker)
- Replace explicit Python install with UV_PYTHON env var
- Update actions/checkout to v6
- Update README badge URL
@github-actions
Copy link

⸜(。˃ ᵕ ˂ )⸝♡ Thank you for opening this Pull Request, AzisK!

( ˶°ㅁ°) !! It's Trivia Time!

Here are 3 trivia questions to keep you entertained while CI runs.
(Feel free to demonstrate your knowledge and reply!)

🧩 Q1: The theme for the popular science fiction series "Doctor Who" was composed by who?

A) Ron Grainer
B) Peter Howell
C) Delia Derbyshire
D) Murray Gold

🧩 Q2: Who is Winnie the Pooh's gloomy donkey friend?

A) Eeyore
B) Tigger
C) Piglet
D) Kanga

🧩 Q3: How many sides does a trapezium have?

A) 3
B) 5
C) 6
D) 4

You got this! Remember, every bug is just a feature in disguise.

@github-actions
Copy link

🎉 All tests passed! Here's a dog for you! 🐶

Dog

AzisK added 11 commits January 28, 2026 00:57
Tests for user config loading were flaky across Python versions because
USER_CONFIG_PATH was imported at module level before pyfakefs was active.
Some Python versions handle this correctly, others don't.

Move imports of USER_CONFIG_PATH, load_user_categories_config, and
DEFAULT_CATEGORIES inside each test method to ensure they resolve after
pyfakefs is active, making tests consistent across all Python/OS combos.
- Split dev dependencies into test, lint, and dev groups
- test: pytest, pyfakefs, ruff (for test job)
- lint: mypy, types-tqdm (for mypy job)
- dev: includes both + pre-commit (for local development)
- Remove tests for Python 3.8
@github-actions
Copy link

🎉 All tests passed! Here's a dog for you! 🐶

Dog

@github-actions
Copy link

🎉 All tests passed! Here's a dog for you! 🐶

Dog

@AzisK AzisK merged commit 5a87e98 into main Jan 31, 2026
29 checks passed
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.

1 participant

Comments