mirror of
https://github.com/aserper/masto-rss.git
synced 2025-12-17 05:15:25 +00:00
Add comprehensive test suite with GitHub Actions CI/CD
- Refactor code into testable bot.py module with MastodonRSSBot class - Create 20+ unit tests covering core functionality and edge cases - Create 10+ integration tests for RSS parsing and Mastodon posting - Add GitHub Actions workflow for automated testing - Unit tests on Python 3.10, 3.11, 3.12 - Integration tests with mocked external services - Code quality checks (flake8, black, mypy) - Docker build validation - Configure pytest with 80% minimum coverage requirement - Add test dependencies in requirements-test.txt - Update .gitignore to exclude test artifacts - Add comprehensive TESTING.md documentation - Add test status badge to README - Maintain full backward compatibility with existing setup
This commit is contained in:
12
README.md
12
README.md
@@ -3,6 +3,7 @@
|
||||
# Masto-RSS
|
||||
|
||||
[](https://github.com/aserper/masto-rss/actions/workflows/masto-rss.yml)
|
||||
[](https://github.com/aserper/masto-rss/actions/workflows/test.yml)
|
||||
[](https://hub.docker.com/r/amitserper/masto-rss)
|
||||
[](https://github.com/aserper/masto-rss/pkgs/container/masto-rss)
|
||||
[](LICENSE)
|
||||
@@ -181,17 +182,6 @@ The bot maintains state in `/state/processed_entries.txt` to track which feed it
|
||||
|
||||
**Important:** Always mount `/state` as a volume to preserve this state file.
|
||||
|
||||
## CI/CD
|
||||
|
||||
The project uses GitHub Actions for automated multiarch builds and deployments:
|
||||
|
||||
- Builds on every push to `main`
|
||||
- Creates images for both amd64 and arm64 architectures
|
||||
- Automatically pushes to Docker Hub and GitHub Container Registry
|
||||
- Uses Docker layer caching for faster builds
|
||||
|
||||
See [.github/workflows/masto-rss.yml](.github/workflows/masto-rss.yml) for the full pipeline.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Feel free to:
|
||||
|
||||
Reference in New Issue
Block a user